summaryrefslogtreecommitdiff
path: root/contrib/packager/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/packager/__init__.py')
-rw-r--r--contrib/packager/__init__.py67
1 files changed, 0 insertions, 67 deletions
diff --git a/contrib/packager/__init__.py b/contrib/packager/__init__.py
deleted file mode 100644
index 4fe35313e..000000000
--- a/contrib/packager/__init__.py
+++ /dev/null
@@ -1,67 +0,0 @@
-# Port of Ronny Pfannschmidt's genscript package
-# https://bitbucket.org/RonnyPfannschmidt/genscript
-
-import sys
-import pickle
-import bz2
-import base64
-import os
-
-
-def find_toplevel(name):
- for syspath in sys.path:
- lib = os.path.join(syspath, name)
- if os.path.isdir(lib):
- return lib
- mod = lib + '.py'
- if os.path.isfile(mod):
- return mod
- raise LookupError(name)
-
-
-def pkgname(toplevel, rootpath, path):
- parts = path.split(os.sep)[len(rootpath.split(os.sep)):]
- return '/'.join([toplevel] + parts)
-
-
-def pkg_to_mapping(name):
- toplevel = find_toplevel(name)
- if os.path.isfile(toplevel):
- return {name: toplevel.read()}
-
- name2src = {}
- for root, dirs, files in os.walk(toplevel):
- for pyfile in files:
- if os.path.splitext(pyfile)[1] in '.py .pem'.split():
- pkg = pkgname(name, toplevel, os.path.join(root, pyfile))
- f = open(os.path.join(root, pyfile))
- try:
- name2src[pkg] = f.read().encode('quoted-printable')
- finally:
- f.close()
- return name2src
-
-
-def compress_mapping(mapping):
- data = pickle.dumps(mapping, 2)
- data = bz2.compress(data, 9)
- data = base64.encodestring(data)
- data = data.decode('ascii')
- return data
-
-
-def compress_packages(names):
- mapping = {}
- for name in names:
- mapping.update(pkg_to_mapping(name))
- return compress_mapping(mapping)
-
-
-def generate_script(entry, packages):
- data = compress_packages(packages)
- tmpl = open(os.path.join(os.path.dirname(__file__), 'template.py'))
- exe = tmpl.read()
- tmpl.close()
- exe = exe.replace('@SOURCES@', data)
- exe = exe.replace('@ENTRY@', entry)
- return exe