|
|
|
#!/usr/bin/env python3
|
|
|
|
from setuptools import find_packages, setup
|
|
|
|
import os
|
|
|
|
import re
|
|
|
|
import subprocess
|
|
|
|
|
|
|
|
"""
|
|
|
|
Use `git tag 1.0.0` to tag a release; `python setup.py --version`
|
|
|
|
to update the _version.py file.
|
|
|
|
"""
|
|
|
|
|
|
|
|
|
|
|
|
def get_version(prefix):
|
|
|
|
if os.path.exists('.git'):
|
|
|
|
parts = subprocess.check_output(['git', 'describe', '--tags']).decode().strip().split('-')
|
|
|
|
if len(parts) == 3:
|
|
|
|
version = '{}.{}+{}'.format(*parts)
|
|
|
|
else:
|
|
|
|
version = parts[0]
|
|
|
|
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'),
|
|
|
|
description='Make current request.user available to templates',
|
|
|
|
author='j',
|
|
|
|
author_email='j@mailb.org',
|
|
|
|
url='https://r-w-x.org/django-requestuser.git',
|
|
|
|
license='BSD License',
|
|
|
|
platforms=['OS Independent'],
|
|
|
|
packages=find_packages(
|
|
|
|
exclude=['tests', 'testapp']
|
|
|
|
),
|
|
|
|
include_package_data=True,
|
|
|
|
install_requires=[
|
|
|
|
# 'Django>=1.9', commented out to make `pip install -U` easier
|
|
|
|
],
|
|
|
|
dependency_links=[
|
|
|
|
],
|
|
|
|
extras_require={
|
|
|
|
},
|
|
|
|
classifiers=[
|
|
|
|
'Development Status :: 4 - Beta',
|
|
|
|
'Environment :: Web Environment',
|
|
|
|
'Framework :: Django',
|
|
|
|
'Intended Audience :: Developers',
|
|
|
|
'License :: OSI Approved :: BSD License',
|
|
|
|
'Operating System :: OS Independent',
|
|
|
|
'Programming Language :: Python',
|
|
|
|
'Programming Language :: Python :: 3',
|
|
|
|
'Programming Language :: Python :: 3.4',
|
|
|
|
'Programming Language :: Python :: 3.5',
|
|
|
|
'Programming Language :: Python :: 3.6',
|
|
|
|
'Topic :: Software Development',
|
|
|
|
],
|
|
|
|
zip_safe=False,
|
|
|
|
)
|