pupy/client/gen_library_compressed_stri...

29 lines
660 B
Python
Raw Normal View History

2015-09-21 19:53:37 +00:00
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import StringIO, zipfile, os.path, imp, sys, os
2015-09-21 19:53:37 +00:00
import marshal
2016-11-26 09:20:33 +00:00
import pylzma
import struct
2015-09-21 19:53:37 +00:00
def get_encoded_library_string(filepath):
dest = os.path.dirname(filepath)
if not os.path.exists(dest):
os.makedirs(dest)
2015-09-21 19:53:37 +00:00
f = StringIO.StringIO()
f.write(open(filepath, 'rb').read())
2015-09-21 19:53:37 +00:00
zip = zipfile.ZipFile(f)
modules = dict([
(z.filename, zip.open(z.filename,).read()) for z in zip.infolist() \
if os.path.splitext(z.filename)[1] in [
'.py', '.pyd', '.dll', '.pyc', '.pyo', '.so'
]
])
2015-09-21 19:53:37 +00:00
return marshal.dumps(modules)
with open(sys.argv[1],'wb') as w:
w.write(get_encoded_library_string(sys.argv[2]))