diff options
author | bescoto <bescoto@2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109> | 2005-11-19 03:10:03 +0000 |
---|---|---|
committer | bescoto <bescoto@2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109> | 2005-11-19 03:10:03 +0000 |
commit | 3f6a251faf324209247a868c91a9bacdea427db1 (patch) | |
tree | e8789dd5b97a4d62c342016c045210df03865ed8 /rdiff-backup/rdiff_backup/rpath.py | |
parent | 3f7215648bac76bbdba0ac6dcbf608db2919877c (diff) | |
download | rdiff-backup-3f6a251faf324209247a868c91a9bacdea427db1.tar.gz |
Error reporting cleanup
git-svn-id: http://svn.savannah.nongnu.org/svn/rdiff-backup/trunk@684 2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109
Diffstat (limited to 'rdiff-backup/rdiff_backup/rpath.py')
-rw-r--r-- | rdiff-backup/rdiff_backup/rpath.py | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/rdiff-backup/rdiff_backup/rpath.py b/rdiff-backup/rdiff_backup/rpath.py index 6793147..47f3b3e 100644 --- a/rdiff-backup/rdiff_backup/rpath.py +++ b/rdiff-backup/rdiff_backup/rpath.py @@ -265,7 +265,7 @@ def make_socket_local(rpath): def gzip_open_local_read(rpath): """Return open GzipFile. See security note directly above""" assert rpath.conn is Globals.local_connection - return gzip.GzipFile(rpath.path, "rb") + return GzipFile(rpath.path, "rb") def open_local_read(rpath): """Return open file (provided for security reasons)""" @@ -982,13 +982,13 @@ class RPath(RORPath): """ if self.conn is Globals.local_connection: - if compress: return gzip.GzipFile(self.path, mode) + if compress: return GzipFile(self.path, mode) else: return open(self.path, mode) if compress: if mode == "r" or mode == "rb": return self.conn.rpath.gzip_open_local_read(self) - else: return self.conn.gzip.GzipFile(self.path, mode) + else: return self.conn.rpath.GzipFile(self.path, mode) else: if mode == "r" or mode == "rb": return self.conn.rpath.open_local_read(self) @@ -1217,6 +1217,16 @@ class RPathFileHook: return result +class GzipFile(gzip.GzipFile): + """Like gzip.GzipFile, except remove destructor + + The default GzipFile's destructor prints out some messy error + messages. Use this class instead to clean those up. + + """ + def __del__(self): pass + + def setdata_local(rpath): """Set eas/acls, uid/gid, resource fork in data dictionary |