forked from bots-edi/bots
-
Notifications
You must be signed in to change notification settings - Fork 0
/
setup_rpm.py
88 lines (72 loc) · 2.78 KB
/
setup_rpm.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
87
88
# -*- coding: utf-8 -*-
import os
import sys
from distutils.core import setup
from distutils.command.install import INSTALL_SCHEMES
#install data file in the same way as *.py
for scheme in INSTALL_SCHEMES.values():
scheme['data'] = scheme['purelib']
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)))
if len(filenames) > 1:
data_files.append([dirpath, [os.path.join(dirpath, f) for f in filenames if not f.endswith('.pyc') and not f.endswith('.py')]])
elif filenames:
data_files.append([dirpath, [os.path.join(dirpath, f) for f in filenames if not f.endswith('.pyc') and not f.endswith('.py')]])
setup(
name = 'bots',
version = '3.2.0',
author = 'hjebbers',
author_email = '[email protected]',
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',
],
packages = packages,
data_files = data_files,
)