-
Notifications
You must be signed in to change notification settings - Fork 126
/
setup_win.py
86 lines (73 loc) · 2.86 KB
/
setup_win.py
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
import os
import sys
from distutils.core import setup
def fullsplit(path, result=None):
'''
Split a pathname into components (the opposite of os.path.join) in a
platform-neutral way.
'''
if result is None:
result = []
head, tail = os.path.split(path)
if head == '':
return [tail] + result
if head == path:
return result
return fullsplit(head, [tail] + result)
# Compile the list of packages available, because distutils doesn't have
# an easy way to do this.
packages, data_files = [], []
root_dir = os.path.dirname(__file__)
if root_dir != '':
os.chdir(root_dir)
for dirpath, dirnames, filenames in os.walk('bots'):
# Ignore dirnames that start with '.'
#~ for i, dirname in enumerate(dirnames):
#~ if dirname.startswith('.'): del dirnames[i]
if '__init__.py' in filenames:
packages.append('.'.join(fullsplit(dirpath)))
data_files.append([dirpath, [os.path.join(dirpath, f) for f in filenames if not f.endswith('.pyc')]])
elif filenames:
data_files.append([dirpath, [os.path.join(dirpath, f) for f in filenames if not f.endswith('.pyc')]])
#~ # Small hack for working with bdist_wininst.
#~ # See http://mail.python.org/pipermail/distutils-sig/2004-August/004134.html
#~ if len(sys.argv) > 1 and 'bdist_wininst' in sys.argv[1:]:
if len(sys.argv) > 1 and 'bdist_wininst' in sys.argv[1:]:
for file_info in data_files:
file_info[0] = '\\PURELIB\\%s' % file_info[0]
setup(
name = 'bots',
version = '3.2.0',
author = 'hjebbers',
author_email = 'hjebbers@gmail.com',
url = 'http://bots.sourceforge.net/',
description = 'Bots open source edi translator',
long_description = 'Bots is complete software for edi (Electronic Data Interchange): translate and communicate. All major edi data formats are supported: edifact, x12, tradacoms, xml',
platforms = 'OS Independent (Written in an interpreted language)',
license = 'GNU General Public License (GPL)',
classifiers = [
'Development Status :: 5 - Production/Stable',
'Operating System :: OS Independent',
'Programming Language :: Python',
'License :: OSI Approved :: GNU General Public License (GPL)',
'Topic :: Office/Business',
'Topic :: Office/Business :: Financial',
'Topic :: Other/Nonlisted Topic',
'Topic :: Communications',
'Environment :: Console',
'Environment :: Web Environment',
],
scripts = [ 'bots-webserver.py',
'bots-engine.py',
'bots-grammarcheck.py',
'bots-xml2botsgrammar.py',
'bots-updatedb.py',
'bots-dirmonitor.py',
'bots-jobqueueserver.py',
'bots-plugoutindex.py',
'bots-job2queue.py',
'postinstallation.py',
],
packages = packages,
data_files = data_files,
)