diff options
| author | P. Christeas <p_christ@hol.gr> | 2009-08-03 10:23:57 +0300 |
|---|---|---|
| committer | P. Christeas <p_christ@hol.gr> | 2009-08-03 10:23:57 +0300 |
| commit | c3e569fb08207174aacafd0725128d8a9ef90876 (patch) | |
| tree | e831e6978b3c607d5748b681b790efe9e0f47db0 /setup.py | |
| parent | fdb3ee7772830d8e1bfde4dfba66a6a729bf28dd (diff) | |
| parent | b2ff94078652379ef3e1ef614ad66e7f5738cd93 (diff) | |
Merge commit 'origin/master' into xrg
Conflicts:
bin/netsvc.py
bin/report/report_sxw.py
setup.py
bzr revid: p_christ@hol.gr-20090803072357-zz2cm1sycsagftnn
Diffstat (limited to 'setup.py')
| -rwxr-xr-x | setup.py | 32 |
1 files changed, 29 insertions, 3 deletions
@@ -35,8 +35,10 @@ import glob from distutils.core import setup, Command from distutils.command.install import install +has_py2exe = False if os.name == 'nt': import py2exe + has_py2exe = True sys.path.append(os.path.join(os.path.abspath(os.path.dirname(__file__)), "bin")) @@ -174,6 +176,7 @@ options = { "py2exe": { "compressed": 1, "optimize": 2, + "dist_dir": 'dist', "packages": ["lxml", "lxml.builder", "lxml._elementpath", "lxml.etree", "lxml.objectify", "decimal", "xml", "xml.dom", "xml.xpath", "encodings","mx.DateTime","wizard","pychart","PIL", "pyparsing", @@ -220,7 +223,30 @@ setup(name = name, options = options, ) - -# -# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: +if has_py2exe: + # Sometime between pytz-2008a and pytz-2008i common_timezones started to + # include only names of zones with a corresponding data file in zoneinfo. + # pytz installs the zoneinfo directory tree in the same directory + # as the pytz/__init__.py file. These data files are loaded using + # pkg_resources.resource_stream. py2exe does not copy this to library.zip so + # resource_stream can't find the files and common_timezones is empty when + # read in the py2exe executable. + # This manually copies zoneinfo into the zip. See also + # http://code.google.com/p/googletransitdatafeed/issues/detail?id=121 + import pytz + import zipfile + # Make sure the layout of pytz hasn't changed + assert (pytz.__file__.endswith('__init__.pyc') or + pytz.__file__.endswith('__init__.py')), pytz.__file__ + zoneinfo_dir = os.path.join(os.path.dirname(pytz.__file__), 'zoneinfo') + # '..\\Lib\\pytz\\__init__.py' -> '..\\Lib' + disk_basedir = os.path.dirname(os.path.dirname(pytz.__file__)) + zipfile_path = os.path.join(options['py2exe']['dist_dir'], 'library.zip') + z = zipfile.ZipFile(zipfile_path, 'a') + for absdir, directories, filenames in os.walk(zoneinfo_dir): + assert absdir.startswith(disk_basedir), (absdir, disk_basedir) + zip_dir = absdir[len(disk_basedir):] + for f in filenames: + z.write(os.path.join(absdir, f), os.path.join(zip_dir, f)) + z.close() |
