Someone added that change to PSP to fix something specific.  I think
they needed to be able to do something like run Webware on an NFS share,
and mktemp needed to be setup a certain way. If that person's still
around, maybe they'll speak up.

I dunno, either way.


On Fri, 2002-12-06 at 23:51, Chuck Esterbrook wrote:
> The "tempdir" variable of the Python standard module "tempfile" gets set 
> by PSP:
> 
> PSP/ServletWriter.py:43: 
> tempfile.tempdir=os.path.dirname(self._pyfilename)
> 
> Consequently, when I use mktemp() in my own code, my temporary files 
> land in .../Cache/PSP/ rather than something like ~/tmp or /tmp like I 
> would expect. Furthermore, they seem to disappear on me, e.g., I get 
> "IOError: [Errno 2] No such file or directory" at some point when 
> trying to open them. I think that happens after I restart the app 
> server, but it shouldn't happen at all.
> 
> Since tempfile.tempdir is shared by the entire process, I think PSP has 
> to relinquish and avoid setting it. Unfortunately, I don't see an 
> optional arg to mktemp() for passing this on invocations:
>   http://python.org/doc/current/lib/module-tempfile.html
> 
> 
> My suggestion is that we copy the mktemp() to MiscUtils.Funcs and add 
> that argument:
> 
> tempfile.py:
> import tempfile
> def mktemp(suffix="", dir=None):
>     """User-callable function to return a unique temporary file name."""
>     if not dir: dir = tempfile.gettempdir()
>     pre = tempfile.gettempprefix()
>     while 1:
>         i = tempfile._counter.get_next()
>         file = os.path.join(dir, pre + str(i) + suffix)
>         if not os.path.exists(file):
>             return file
> 
> 
> Then in PSPServletWriter, this:
>               self._pyfilename = ctxt.getPythonFileName()
>               tempfile.tempdir=os.path.dirname(self._pyfilename)
>               self._temp = tempfile.mktemp('tmp')
> becomes:
>               self._temp = mktemp('tmp', dir=os.path.dirname(self._pyfilename))
> 
> 
> Any comments?
> 
> -Chuck
> 
> 
> -------------------------------------------------------
> This sf.net email is sponsored by:ThinkGeek
> Welcome to geek heaven.
> http://thinkgeek.com/sf
> _______________________________________________
> Webware-devel mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/webware-devel




-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Webware-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/webware-devel

Reply via email to