summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorjvoisin2011-07-23 19:16:58 +0200
committerjvoisin2011-07-23 19:16:58 +0200
commitfb7d3d5fa605596d419a5ea3950827c59c53c942 (patch)
tree1524a60372a0a40ba0001ee9a2a444d177bba7c8 /lib
parent88665c9ffa82afd9689ed5bd211c7136853e809b (diff)
Add handling of the "comment" field on a zip archive
Diffstat (limited to 'lib')
-rw-r--r--lib/archive.py4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/archive.py b/lib/archive.py
index 2ee817e..33fe6e7 100644
--- a/lib/archive.py
+++ b/lib/archive.py
@@ -40,6 +40,8 @@ class ZipStripper(GenericArchiveStripper):
40 40
41 def is_clean(self): 41 def is_clean(self):
42 zipin = zipfile.ZipFile(self.filename, 'r') 42 zipin = zipfile.ZipFile(self.filename, 'r')
43 if zipin.comment != '':
44 return False
43 for item in zipin.infolist(): 45 for item in zipin.infolist():
44 if not self.is_file_clean(item): 46 if not self.is_file_clean(item):
45 return False 47 return False
@@ -69,6 +71,7 @@ class ZipStripper(GenericArchiveStripper):
69 zipmeta['system'] = field.create_system 71 zipmeta['system'] = field.create_system
70 zipmeta['zip_version'] = field.create_version 72 zipmeta['zip_version'] = field.create_version
71 metadata[field.filename] = zipmeta 73 metadata[field.filename] = zipmeta
74 metadata["%s comment" % self.filename] = zipin.comment
72 zipin.close() 75 zipin.close()
73 return metadata 76 return metadata
74 77
@@ -94,6 +97,7 @@ class ZipStripper(GenericArchiveStripper):
94 mat.secure_remove(item.filename) 97 mat.secure_remove(item.filename)
95 else: 98 else:
96 self.folder_list.insert(0, item.filename) 99 self.folder_list.insert(0, item.filename)
100 zipout.comment = ''
97 logging.info('%s treated' % self.filename) 101 logging.info('%s treated' % self.filename)
98 self.remove_folder() 102 self.remove_folder()
99 zipin.close() 103 zipin.close()