PageRenderTime 35ms CodeModel.GetById 25ms RepoModel.GetById 3ms app.codeStats 0ms

/lib/log_tempfile.py

https://bitbucket.org/cistrome/cistrome-harvard/
Python | 27 lines | 23 code | 3 blank | 1 comment | 2 complexity | fd064375febae9ec8e52513440362ec5 MD5 | raw file
  1. # override tempfile methods for debugging
  2. import tempfile, traceback
  3. import logging
  4. log = logging.getLogger( __name__ )
  5. class TempFile( object ):
  6. def __init__( self ):
  7. tempfile._NamedTemporaryFile = tempfile.NamedTemporaryFile
  8. tempfile._mkstemp = tempfile.mkstemp
  9. tempfile.NamedTemporaryFile = self.NamedTemporaryFile
  10. tempfile.mkstemp = self.mkstemp
  11. def NamedTemporaryFile( self, *args, **kwargs ):
  12. f = tempfile._NamedTemporaryFile( *args, **kwargs )
  13. try:
  14. log.debug( ( "Opened tempfile %s with NamedTemporaryFile:\n" % f.name ) + "".join( traceback.format_stack() ) )
  15. except AttributeError:
  16. pass
  17. return f
  18. def mkstemp( self, *args, **kwargs ):
  19. f = tempfile._mkstemp( *args, **kwargs )
  20. try:
  21. log.debug( ( "Opened tempfile %s with mkstemp:\n" % f[1] ) + "".join( traceback.format_stack() ) )
  22. except TypeError:
  23. pass
  24. return f