| # Temporary file name allocation |
| |
| import posix |
| import path |
| |
| |
| # Changeable parameters (by clients!)... |
| |
| tempdir = '/usr/tmp' |
| template = '@' |
| |
| # Use environment variable $TMPDIR to override default tempdir. |
| |
| if posix.environ.has_key('TMPDIR'): |
| # XXX Could check that it's a writable directory... |
| tempdir = posix.environ['TMPDIR'] |
| |
| |
| # Counter for generating unique names |
| |
| counter = 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(): |
| global counter |
| while 1: |
| counter = counter+1 |
| file = tempdir+'/'+template+`posix.getpid()`+'.'+`counter` |
| if not path.exists(file): |
| break |
| return file |