1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
|
#!/usr/bin/env python
# encoding: utf-8
import sys
import re
import os
import zipfile
import argparse
def buildArchive(archiveName, dest_file="fonts.dat"):
if not os.path.isdir(archiveName):
print("Invalid archive name: " + archiveName)
return
zf = zipfile.ZipFile(dest_file, 'w', zipfile.ZIP_DEFLATED)
print("Building 'fonts' archive:")
filenames = os.listdir(archiveName)
filenames.sort()
for filename in filenames:
if os.path.isfile(archiveName + '/' + filename):
zf.write(archiveName + '/' + filename, filename)
print(" Adding file: " + './' + filename)
zf.close()
def main():
parser = argparse.ArgumentParser(description='Generates fonts archive')
parser.add_argument('path', nargs='?', help='path where the fonts source data can be found')
parser.add_argument('destination_file', nargs='?', help='path where the destination file can be found')
args = parser.parse_args()
if args.path != None:
if not os.path.isdir(args.path):
print ("Directory '" + args.path + "' does not exist!")
return
else:
archiveName = args.path
if args.destination_file != None:
buildArchive(archiveName, args.destination_file)
else:
buildArchive(archiveName)
if __name__ == "__main__":
sys.exit(main())
|