# HG changeset patch # User Oleg Oshmyan # Date 1305770136 -3600 # Node ID cdd0f970d1123fbb11437d2a1f2ee97c0ef934c3 # Parent 7923faf392fe4474e9717be49475692adf7c12e2 Fixed several small bugs in the files module diff -r 7923faf392fe -r cdd0f970d112 files.py --- a/files.py Thu May 19 02:24:59 2011 +0100 +++ b/files.py Thu May 19 02:55:36 2011 +0100 @@ -45,7 +45,10 @@ def extract(self, name, target): raise NotImplementedError def __del__(self): - del self.file + try: + del self.file + except NameError: + pass try: import tarfile @@ -53,7 +56,7 @@ TarArchive = None else: class TarArchive(Archive): - __slots__ = '__namelist' + __slots__ = '_namelist' def __init__(self, path): self.file = tarfile.open(path) @@ -68,15 +71,15 @@ return self.file.extractfile(name) def exists(self, queried_name): - if not hasattr(self, '__namelist'): + if not hasattr(self, '_namelist'): names = set() for name in self.file.getnames(): cutname = name while cutname: names.add(cutname) cutname = cutname.rpartition('/')[0] - self.__namelist = frozenset(names) - return queried_name in self.__namelist + self._namelist = frozenset(names) + return queried_name in self._namelist def __enter__(self): if hasattr(self.file, '__enter__'): @@ -102,7 +105,7 @@ ZipArchive = None else: class ZipArchive(Archive): - __slots__ = '__namelist' + __slots__ = '_namelist' def __init__(self, path): self.file = zipfile.ZipFile(path) @@ -123,15 +126,15 @@ return self.file.open(name, 'rU') def exists(self, queried_name): - if not hasattr(self, '__namelist'): + if not hasattr(self, '_namelist'): names = set() for name in self.file.namelist(): cutname = name while cutname: names.add(cutname) cutname = cutname.rpartition('/')[0] - self.__namelist = frozenset(names) - return queried_name in self.__namelist + self._namelist = frozenset(names) + return queried_name in self._namelist def __enter__(self): if hasattr(self.file, '__enter__'):