home *** CD-ROM | disk | FTP | other *** search
- # Source Generated with Decompyle++
- # File: in.pyc (Python 2.6)
-
- from __future__ import with_statement
- __license__ = 'GPL v3'
- __copyright__ = '2008, Kovid Goyal <kovid at kovidgoyal.net>'
- import tempfile
- import os
- import atexit
- import shutil
- from calibre import __version__, __appname__
-
- def cleanup(path):
-
- try:
- import os
- if os.path.exists(path):
- os.remove(path)
- except:
- pass
-
-
-
- class PersistentTemporaryFile(object):
- _file = None
-
- def __init__(self, suffix = '', prefix = '', dir = None, mode = 'w+b'):
- if prefix == None:
- prefix = ''
-
- (fd, name) = tempfile.mkstemp(suffix, __appname__ + '_' + __version__ + '_' + prefix, dir = dir)
- self._file = os.fdopen(fd, mode)
- self._name = name
- self._fd = fd
- atexit.register(cleanup, name)
-
-
- def __getattr__(self, name):
- if name == 'name':
- return self.__dict__['_name']
- return getattr(self.__dict__['_file'], name)
-
-
- def __enter__(self):
- return self
-
-
- def __exit__(self, *args):
- self.close()
-
-
- def __del__(self):
-
- try:
- self.close()
- except:
- pass
-
-
-
-
- def PersistentTemporaryDirectory(suffix = '', prefix = '', dir = None):
- tdir = tempfile.mkdtemp(suffix, __appname__ + '_' + __version__ + '_' + prefix, dir)
- atexit.register(shutil.rmtree, tdir, True)
- return tdir
-
-
- class TemporaryDirectory(object):
-
- def __init__(self, suffix = '', prefix = '', dir = None, keep = False):
- self.suffix = suffix
- self.prefix = prefix
- self.dir = dir
- self.keep = keep
-
-
- def __enter__(self):
- self.tdir = tempfile.mkdtemp(self.suffix, __appname__ + '_' + __version__ + '_' + self.prefix, self.dir)
- return self.tdir
-
-
- def __exit__(self, *args):
- if not (self.keep) and os.path.exists(self.tdir):
- shutil.rmtree(self.tdir, ignore_errors = True)
-
-
-
-
- class TemporaryFile(object):
-
- def __init__(self, suffix = '', prefix = '', dir = None, mode = 'w+b'):
- if prefix == None:
- prefix = ''
-
- if suffix is None:
- suffix = ''
-
- (self.prefix, self.suffix, self.dir, self.mode) = (prefix, suffix, dir, mode)
- self._file = None
-
-
- def __enter__(self):
- (fd, name) = tempfile.mkstemp(self.suffix, __appname__ + '_' + __version__ + '_' + self.prefix, dir = self.dir)
- self._file = os.fdopen(fd, self.mode)
- self._name = name
- self._file.close()
- return name
-
-
- def __exit__(self, *args):
- cleanup(self._name)
-
-
-