mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-09-21 13:50:20 +08:00
open tempfiles, including a traceback (to determine callers) if LOG_TEMPFILES is set in the environment when Galaxy starts. This should be considered temporary and will be removed when it's determined where/how this happens.
28 lines
979 B
Python
28 lines
979 B
Python
# override tempfile methods for debugging
|
|
|
|
import tempfile, traceback
|
|
|
|
import logging
|
|
log = logging.getLogger( __name__ )
|
|
|
|
class TempFile( object ):
|
|
def __init__( self ):
|
|
tempfile._NamedTemporaryFile = tempfile.NamedTemporaryFile
|
|
tempfile._mkstemp = tempfile.mkstemp
|
|
tempfile.NamedTemporaryFile = self.NamedTemporaryFile
|
|
tempfile.mkstemp = self.mkstemp
|
|
def NamedTemporaryFile( self, *args, **kwargs ):
|
|
f = tempfile._NamedTemporaryFile( *args, **kwargs )
|
|
try:
|
|
log.debug( ( "Opened tempfile %s with NamedTemporaryFile:\n" % f.name ) + "".join( traceback.format_stack() ) )
|
|
except AttributeError:
|
|
pass
|
|
return f
|
|
def mkstemp( self, *args, **kwargs ):
|
|
f = tempfile._mkstemp( *args, **kwargs )
|
|
try:
|
|
log.debug( ( "Opened tempfile %s with mkstemp:\n" % f[1] ) + "".join( traceback.format_stack() ) )
|
|
except TypeError:
|
|
pass
|
|
return f
|