33 lines
651 B
Python
33 lines
651 B
Python
|
# Temporary file name allocation
|
||
|
|
||
|
import posix
|
||
|
import path
|
||
|
|
||
|
|
||
|
# Changeable parameters (by clients!)...
|
||
|
# XXX Should the environment variable $TMPDIR override tempdir?
|
||
|
|
||
|
tempdir = '/usr/tmp'
|
||
|
template = '@'
|
||
|
|
||
|
|
||
|
# Kludge to hold mutable state
|
||
|
|
||
|
class Struct(): pass
|
||
|
G = Struct()
|
||
|
G.i = 0
|
||
|
|
||
|
|
||
|
# User-callable function
|
||
|
# XXX Should this have a parameter, like C's mktemp()?
|
||
|
# XXX Should we instead use the model of Standard C's tempnam()?
|
||
|
# XXX By all means, avoid a mess with four different functions like C...
|
||
|
|
||
|
def mktemp():
|
||
|
while 1:
|
||
|
G.i = G.i+1
|
||
|
file = tempdir +'/'+ template + `posix.getpid()` +'.'+ `G.i`
|
||
|
if not path.exists(file):
|
||
|
break
|
||
|
return file
|