summaryrefslogtreecommitdiff
path: root/rdiff-backup/rdiff_backup/rpath.py
diff options
context:
space:
mode:
authorbescoto <bescoto@2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109>2005-11-19 03:10:03 +0000
committerbescoto <bescoto@2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109>2005-11-19 03:10:03 +0000
commit3f6a251faf324209247a868c91a9bacdea427db1 (patch)
treee8789dd5b97a4d62c342016c045210df03865ed8 /rdiff-backup/rdiff_backup/rpath.py
parent3f7215648bac76bbdba0ac6dcbf608db2919877c (diff)
downloadrdiff-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.py16
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