summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBenjamin Dauvergne <bdauvergne@entrouvert.com>2016-02-24 00:01:11 (GMT)
committerBenjamin Dauvergne <bdauvergne@entrouvert.com>2016-02-24 20:44:57 (GMT)
commit0f3ad316c4b0f88a1a8bdd23b1b1f76ff1762a04 (patch)
tree4c9232a27e56b77bce6f25082084a8f16ffbd648
parent39066255bc38e4cab79d17a7c18c5b2baaaa9e3c (diff)
downloadauthentic2-auth-kerberos-0f3ad316c4b0f88a1a8bdd23b1b1f76ff1762a04.zip
authentic2-auth-kerberos-0f3ad316c4b0f88a1a8bdd23b1b1f76ff1762a04.tar.gz
authentic2-auth-kerberos-0f3ad316c4b0f88a1a8bdd23b1b1f76ff1762a04.tar.bz2
setup.py: pep8ness, cleaning
-rwxr-xr-xsetup.py127
1 files changed, 67 insertions, 60 deletions
diff --git a/setup.py b/setup.py
index ed762c9..4a64906 100755
--- a/setup.py
+++ b/setup.py
@@ -1,68 +1,75 @@
-#!/usr/bin/python
-from setuptools import setup, find_packages
+#! /usr/bin/env python
+
+import subprocess
import os
-def get_version():
- import glob
- import re
- import os
+from setuptools import setup, find_packages
+from setuptools.command.sdist import sdist
+
- version = None
- for d in glob.glob('src/*'):
- if not os.path.isdir(d):
- continue
- module_file = os.path.join(d, '__init__.py')
- if not os.path.exists(module_file):
- continue
- for v in re.findall("""__version__ *= *['"](.*)['"]""",
- open(module_file).read()):
- assert version is None
- version = v
- if version:
- break
- assert version is not None
+class version_sdist(sdist):
+ def run(self):
+ print "creating VERSION file"
+ if os.path.exists('VERSION'):
+ os.remove('VERSION')
+ version = get_version()
+ version_file = open('VERSION', 'w')
+ version_file.write(version)
+ version_file.close()
+ sdist.run(self)
+ print "removing VERSION file"
+ if os.path.exists('VERSION'):
+ os.remove('VERSION')
+
+
+def get_version():
+ '''Use the VERSION, if absent generates a version with git describe, if not
+ tag exists, take 0.0.0- and add the length of the commit log.
+ '''
+ if os.path.exists('VERSION'):
+ with open('VERSION', 'r') as v:
+ return v.read()
if os.path.exists('.git'):
- import subprocess
- p = subprocess.Popen(['git','describe','--dirty','--match=v*'],
- stdout=subprocess.PIPE)
+ p = subprocess.Popen(['git', 'describe', '--dirty', '--match=v*'], stdout=subprocess.PIPE,
+ stderr=subprocess.PIPE)
result = p.communicate()[0]
- assert p.returncode == 0, 'git returned non-zero'
- new_version = result.split()[0][1:]
- assert new_version.split('-')[0] == version, '__version__ must match the last git annotated tag'
- version = new_version.replace('-', '.')
- return version
+ if p.returncode == 0:
+ result = result.split()[0][1:]
+ else:
+ result = '0.0.0-%s' % len(subprocess.check_output(
+ ['git', 'rev-list', 'HEAD']).splitlines())
+ return result.replace('-', '.').replace('.g', '+g')
+ return '0.0.0'
-README = file(os.path.join(
- os.path.dirname(__file__),
- 'README')).read()
-setup(name='authentic2-auth-kerberos',
- version=get_version(),
- license='AGPLv3',
- description='Authentic2 Auth Kerberos',
- long_description=README,
- author="Entr'ouvert",
- author_email="info@entrouvert.com",
- packages=find_packages('src'),
- package_dir={
- '': 'src',
- },
- package_data={
- 'authentic2_auth_kerberos': [
- 'templates/authentic2_auth_kerberos/*.html',
- 'templates/django_kerberos/*.html',
- 'static/authentic2_auth_kerberos/js/*.js',
- 'static/authentic2_auth_kerberos/css/*.css',
- 'static/authentic2_auth_kerberos/img/*.png',
- ],
- },
- install_requires=[
- 'authentic2',
- 'django-kerberos',
+setup(
+ name='authentic2-auth-kerberos',
+ version=get_version(),
+ license='AGPLv3',
+ description='Authentic2 Auth Kerberos',
+ long_description=open('README').read(),
+ author="Entr'ouvert",
+ author_email="info@entrouvert.com",
+ packages=find_packages('src'),
+ package_dir={
+ '': 'src',
+ },
+ package_data={
+ 'authentic2_auth_kerberos': [
+ 'templates/authentic2_auth_kerberos/*.html',
+ 'templates/django_kerberos/*.html',
+ 'static/authentic2_auth_kerberos/js/*.js',
+ 'static/authentic2_auth_kerberos/css/*.css',
+ 'static/authentic2_auth_kerberos/img/*.png',
+ ],
+ },
+ install_requires=[
+ 'authentic2',
+ 'django-kerberos',
+ ],
+ entry_points={
+ 'authentic2.plugin': [
+ 'authentic2-auth-kerberos = authentic2_auth_kerberos:Plugin',
],
- entry_points={
- 'authentic2.plugin': [
- 'authentic2-auth-kerberos = authentic2_auth_kerberos:Plugin',
- ],
- },
-)
+ },
+ cmdclass={'sdist': version_sdist})