Browse Source

compute version git and update _version.py

master
j 7 years ago
parent
commit
15b7bb2aa8
  1. 1
      .gitignore
  2. 8
      requestuser/__init__.py
  3. 23
      setup.py

1
.gitignore vendored

@ -8,3 +8,4 @@
build
dist
__pycache__
_version.py

8
requestuser/__init__.py

@ -1,3 +1,11 @@
__version__ = '0.1'
try:
from ._version import __version__
except ImportError:
pass
VERSION = __version__.split('+')
VERSION = tuple(list(map(int, VERSION[0].split('.'))) + VERSION[1:])
from .requestuser import get_request_user, RequestUserMiddleware

23
setup.py

@ -1,13 +1,30 @@
#!/usr/bin/env python3
from setuptools import find_packages, setup
def get_version(prefix):
import os
import re
with open(os.path.join(prefix, '__init__.py')) as fd:
import subprocess
def get_version(prefix):
if os.path.exists('.git'):
parts = subprocess.check_output(['git', 'describe', '--tags']).decode().strip().split('-')
version = '{}.{}+{}'.format(*parts)
version_py = "__version__ = '{}'".format(version)
_version = os.path.join(prefix, '_version.py')
if not os.path.exists(_version) or open(_version).read().strip() != version_py:
with open(_version, 'w') as fd:
fd.write(version_py)
return version
else:
for f in ('_version.py', '__init__.py'):
f = os.path.join(prefix, f)
if os.path.exists(f):
with open(f) as fd:
metadata = dict(re.findall("__([a-z]+)__ = '([^']+)'", fd.read()))
if 'version' in metadata:
break
return metadata['version']
setup(
name='django-requestuser',
version=get_version('requestuser'),

Loading…
Cancel
Save