-
Notifications
You must be signed in to change notification settings - Fork 35
/
setup.py
88 lines (74 loc) · 2.36 KB
/
setup.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
#!/usr/bin/env python2
import os
import string
import subprocess
import sys
import warnings
#from distutils.core import setup
from setuptools import setup
MAJOR = 0
MINOR = 7
PATCH = 0
RELEASE = False
VERSION = "{0}.{1}.{2}".format(MAJOR, MINOR, PATCH)
if not RELEASE:
try:
try:
pipe = subprocess.Popen(["git", "describe", "--dirty", "--tags"],
stdout=subprocess.PIPE)
except EnvironmentError:
warnings.warn("WARNING: git not installed or failed to run")
revision = pipe.communicate()[0].strip().lstrip('v')
if pipe.returncode != 0:
warnings.warn("WARNING: couldn't get git revision")
if revision != VERSION:
revision = revision.lstrip(string.digits + '.')
VERSION += '.dev' + revision
except:
VERSION += '.dev'
warnings.warn("WARNING: git not installed or failed to run")
def write_version():
"""writes the pycarddav/version.py file"""
template = """\
__version__ = '{0}'
"""
filename = os.path.join(
os.path.dirname(__file__), 'pycarddav', 'version.py')
with open(filename, 'w') as versionfile:
versionfile.write(template.format(VERSION))
print("wrote pycarddav/version.py with version={0}".format(VERSION))
write_version()
requirements = [
'lxml',
'vobject',
'requests',
'urwid',
'pyxdg'
]
if sys.version_info[:2] in ((2, 6),):
# there is no argparse in python2.6
requirements.append('argparse')
setup(
name='pyCardDAV',
version=VERSION,
description='A CardDAV based address book tool',
long_description=open('README.rst').read(),
author='Christian Geier',
author_email='[email protected]',
url='http://lostpackets.de/pycarddav/',
license='Expat/MIT',
packages=['pycarddav', 'pycarddav.controllers'],
scripts=['bin/pycardsyncer', 'bin/pc_query', 'bin/pycard-import'],
requires=requirements,
install_requires=requirements,
classifiers=[
"Development Status :: 4 - Beta",
"License :: OSI Approved :: MIT License",
"Environment :: Console :: Curses",
"Intended Audience :: End Users/Desktop",
"Operating System :: POSIX",
"Programming Language :: Python :: 2 :: Only",
"Topic :: Utilities",
"Topic :: Communications :: Email :: Address Book"
],
)