Skip to content

Commit d09adf3

Browse files
committed
Refactor compression script so it's reusable
1 parent 374e5ec commit d09adf3

File tree

2 files changed

+20
-10
lines changed

2 files changed

+20
-10
lines changed

makexpi.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ cd src
128128
rm -f "../$XPI_NAME"
129129
#zip -q -X -9r "../$XPI_NAME" . "-x@../.build_exclusions"
130130

131-
python ../utils/create_xpi.py "../$XPI_NAME" "../.build_exclusions"
131+
python ../utils/create_xpi.py -n "../$XPI_NAME" -x "../.build_exclusions" "."
132132

133133
ret="$?"
134134
if [ "$ret" != 0 ]; then

utils/create_xpi.py

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,23 +3,33 @@
33
# Uses the Python zip implementation to create deterministic XPI's
44
# Author: Yan Zhu, yan@mit.edu
55

6-
# ZipFile: infolist, write, writestr,
6+
"""
7+
Usage: python create_xpi.py -x <exclusions> -n <name of zipped file> <directory>
8+
"""
79

810
import zipfile_deterministic as zipfile
911
import sys
1012
import glob
13+
import getopt
14+
15+
opts, args = getopt.getopt(sys.argv[1:], 'x:n:')
1116

12-
xpiName = sys.argv[1]
13-
exclusionsFile = sys.argv[2]
1417
exclusions = []
15-
compress = zipfile.ZIP_DEFLATED
18+
for o, v in opts:
19+
if o == "-x":
20+
exclusionsFile = v
21+
with open(exclusionsFile) as f:
22+
for line in f:
23+
exclusions.extend(glob.glob(line.strip()))
24+
exclusions = map(lambda x: './'+x, exclusions)
25+
elif o == "-n":
26+
xpiName = v
1627

17-
with open(exclusionsFile) as f:
18-
for line in f:
19-
exclusions.extend(glob.glob(line.strip()))
20-
exclusions = map(lambda x: './'+x, exclusions)
28+
compress = zipfile.ZIP_DEFLATED
2129

2230
xpiFile = zipfile.ZipFile(xpiName, mode='w', compression=compress)
2331

24-
xpiFile.write_from_directory('.', exclusions, compress_type=compress)
32+
directory = args[0]
33+
34+
xpiFile.write_from_directory(directory, exclusions, compress_type=compress)
2535
xpiFile.close()

0 commit comments

Comments
 (0)