82 lines
2.2 KiB
Python
82 lines
2.2 KiB
Python
|
#!/usr/bin/env python
|
||
|
# -*- coding: utf-8 -*-
|
||
|
|
||
|
from __future__ import print_function
|
||
|
from setuptools import setup
|
||
|
import re
|
||
|
import os
|
||
|
import sys
|
||
|
|
||
|
|
||
|
name = 'django-client-reverse'
|
||
|
package = 'django_client_reverse'
|
||
|
description = 'Django module to access URL reversing client-side'
|
||
|
url = 'https://github.com/RealOrangeOne/'
|
||
|
author = 'TheOrangeOne'
|
||
|
author_email = 'git@theorangeone.net'
|
||
|
license = 'BSD'
|
||
|
install_requires = [
|
||
|
"Django>=1.8",
|
||
|
"djangorestframework>=3.3.0",
|
||
|
]
|
||
|
|
||
|
long_description = description
|
||
|
|
||
|
def get_version(package):
|
||
|
"""
|
||
|
Return package version as listed in `__version__` in `init.py`.
|
||
|
"""
|
||
|
init_py = open(os.path.join(package, '__init__.py')).read()
|
||
|
return re.search("^__version__ = ['\"]([^'\"]+)['\"]", init_py, re.MULTILINE).group(1)
|
||
|
|
||
|
|
||
|
def get_packages(package):
|
||
|
"""
|
||
|
Return root package and all sub-packages.
|
||
|
"""
|
||
|
return [dirpath
|
||
|
for dirpath, dirnames, filenames in os.walk(package)
|
||
|
if os.path.exists(os.path.join(dirpath, '__init__.py'))]
|
||
|
|
||
|
|
||
|
def get_package_data(package):
|
||
|
"""
|
||
|
Return all files under the root package, that are not in a
|
||
|
package themselves.
|
||
|
"""
|
||
|
walk = [(dirpath.replace(package + os.sep, '', 1), filenames)
|
||
|
for dirpath, dirnames, filenames in os.walk(package)
|
||
|
if not os.path.exists(os.path.join(dirpath, '__init__.py'))]
|
||
|
|
||
|
filepaths = []
|
||
|
for base, filenames in walk:
|
||
|
filepaths.extend([os.path.join(base, filename)
|
||
|
for filename in filenames])
|
||
|
return {package: filepaths}
|
||
|
|
||
|
|
||
|
if sys.argv[-1] == 'publish':
|
||
|
os.system("python setup.py sdist upload")
|
||
|
args = {'version': get_version(package)}
|
||
|
print("You probably want to also tag the version now:")
|
||
|
print(" git tag -a %(version)s -m 'version %(version)s'" % args)
|
||
|
print(" git push --tags")
|
||
|
sys.exit()
|
||
|
|
||
|
|
||
|
setup(
|
||
|
name=name,
|
||
|
version=get_version(package),
|
||
|
url=url,
|
||
|
license=license,
|
||
|
description=description,
|
||
|
long_description=long_description,
|
||
|
author=author,
|
||
|
author_email=author_email,
|
||
|
packages=get_packages(package),
|
||
|
package_data=get_package_data(package),
|
||
|
install_requires=install_requires,
|
||
|
classifiers=[
|
||
|
]
|
||
|
)
|