mirror of https://gitee.com/bigwinds/arangodb
56 lines
1.6 KiB
Python
56 lines
1.6 KiB
Python
# Copyright Bruno da Silva de Oliveira 2006. Distributed under the Boost
|
|
# Software License, Version 1.0. (See accompanying
|
|
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
|
|
|
import os
|
|
import sys
|
|
import shutil
|
|
import fnmatch
|
|
from zipfile import ZipFile, ZIP_DEFLATED
|
|
|
|
def findfiles(directory, mask):
|
|
def visit(files, dir, names):
|
|
for name in names:
|
|
if fnmatch.fnmatch(name, mask):
|
|
files.append(os.path.join(dir, name))
|
|
files = []
|
|
os.path.walk(directory, visit, files)
|
|
return files
|
|
|
|
|
|
def main():
|
|
# test if PyXML is installed
|
|
try:
|
|
import _xmlplus.parsers.expat
|
|
pyxml = '--includes _xmlplus.parsers.expat'
|
|
except ImportError:
|
|
pyxml = ''
|
|
# create exe
|
|
status = os.system('python setup.py py2exe %s >& build.log' % pyxml)
|
|
if status != 0:
|
|
raise RuntimeError, 'Error creating EXE'
|
|
|
|
# create distribution
|
|
import pyste
|
|
version = pyste.__VERSION__
|
|
zip = ZipFile('pyste-%s.zip' % version, 'w', ZIP_DEFLATED)
|
|
# include the base files
|
|
dist_dir = 'dist/pyste'
|
|
for basefile in os.listdir(dist_dir):
|
|
zip.write(os.path.join(dist_dir, basefile), os.path.join('pyste', basefile))
|
|
# include documentation
|
|
for doc_file in findfiles('../doc', '*.*'):
|
|
dest_name = os.path.join('pyste/doc', doc_file[3:])
|
|
zip.write(doc_file, dest_name)
|
|
zip.write('../index.html', 'pyste/doc/index.html')
|
|
zip.close()
|
|
# cleanup
|
|
os.remove('build.log')
|
|
shutil.rmtree('build')
|
|
shutil.rmtree('dist')
|
|
|
|
|
|
if __name__ == '__main__':
|
|
sys.path.append('../src')
|
|
main()
|