From 9b082abbdb5f983177826eaa413567452867d2fb Mon Sep 17 00:00:00 2001 From: devrandom Date: Fri, 15 Jun 2012 22:35:46 -0700 Subject: [PATCH] Utility to canonicalize a zip file. --- bin/canon-zip | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100755 bin/canon-zip diff --git a/bin/canon-zip b/bin/canon-zip new file mode 100755 index 0000000..c4d329f --- /dev/null +++ b/bin/canon-zip @@ -0,0 +1,22 @@ +#!/usr/bin/python + +from zipfile import ZipFile +import sys + +"""Canonicalize a zip/jar file. Sets all the filestamps to a specific date. + + canon-zip YYYY-MM-DD INPUT OUTPUT +""" + +(year, month, day) = sys.argv[1].split('-') +year = int(year) +month = int(month) +day = int(day) + +with ZipFile(sys.argv[3], 'w') as outzip: + with ZipFile(sys.argv[2], 'r') as inzip: + for info in inzip.infolist(): + info.date_time = (year, month, day, 0, 0, 0) + content = inzip.read(info.filename) + outzip.writestr(info, content) +