fixed signature generation
[pywienerlinien] / setup.py
1 #!/usr/bin/env python
2
3 from bdist_hdeb import bdist_hdeb
4 from distutils.core import setup
5
6 import re
7 import glob
8
9 PACKAGE = 'gotovienna'
10 SCRIPT_FILE = 'gotovienna-qml'
11
12 main_py = open(SCRIPT_FILE).read()
13 metadata = dict(re.findall("__([a-z]+)__ = '([^']+)'", main_py))
14 docstrings = re.findall('"""(.*?)"""', main_py, re.DOTALL)
15
16 # List the modules that need to be installed/packaged
17 PACKAGES = (
18         PACKAGE,
19 )
20
21 # Metadata fields extracted from SCRIPT_FILE
22 AUTHOR_EMAIL = metadata['author']
23 VERSION = metadata['version']
24 WEBSITE = metadata['website']
25 LICENSE = metadata['license']
26 DESCRIPTION = docstrings[0].strip()
27 if '\n\n' in DESCRIPTION:
28     DESCRIPTION, LONG_DESCRIPTION = DESCRIPTION.split('\n\n', 1)
29 else:
30     LONG_DESCRIPTION = None
31
32 # Extract name and e-mail ("Firstname Lastname <mail@example.org>")
33 AUTHOR, EMAIL = re.match(r'(.*) <(.*)>', AUTHOR_EMAIL).groups()
34
35 DATA_FILES = [
36         ('share/gotovienna', ['images/gotovienna_qml80.png']),
37         ('share/gotovienna/qml', glob.glob('qml/*')),
38 ]
39
40 setup(cmdclass={'bdist_hdeb': bdist_hdeb},
41       name=PACKAGE,
42       version=VERSION,
43       description=DESCRIPTION,
44       long_description=LONG_DESCRIPTION,
45       author=AUTHOR,
46       author_email=EMAIL,
47       license=LICENSE,
48       url=WEBSITE,
49       packages=PACKAGES,
50       scripts=[SCRIPT_FILE],
51       data_files=DATA_FILES,
52       download_url=WEBSITE+PACKAGE+'-'+VERSION+'.tar.gz')
53