2013-05-17 10:59:38 +00:00
|
|
|
#!/usr/bin/env python
|
|
|
|
|
# -*- coding: utf-8 -*-
|
|
|
|
|
|
|
|
|
|
from setuptools import setup
|
|
|
|
|
import re
|
|
|
|
|
import os
|
|
|
|
|
import sys
|
|
|
|
|
|
|
|
|
|
|
2013-05-18 14:50:02 +00:00
|
|
|
def get_author(package):
|
|
|
|
|
"""
|
|
|
|
|
Return package version as listed in `__version__` in `init.py`.
|
|
|
|
|
"""
|
|
|
|
|
init_py = open(os.path.join(package, '__init__.py')).read()
|
|
|
|
|
return re.search("__author__ = ['\"]([^'\"]+)['\"]", init_py).group(1)
|
|
|
|
|
|
|
|
|
|
|
2013-05-17 10:59:38 +00:00
|
|
|
def get_version(package):
|
|
|
|
|
"""
|
|
|
|
|
Return package version as listed in `__version__` in `init.py`.
|
|
|
|
|
"""
|
|
|
|
|
init_py = open(os.path.join(package, '__init__.py')).read()
|
2013-05-18 14:50:02 +00:00
|
|
|
return re.search("__version__ = ['\"]([^'\"]+)['\"]", init_py).group(1)
|
2013-05-17 10:59:38 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
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}
|
|
|
|
|
|
|
|
|
|
|
2013-05-18 14:50:02 +00:00
|
|
|
author = get_author('djadmin2')
|
2013-05-18 09:52:03 +00:00
|
|
|
version = get_version('djadmin2')
|
2013-05-17 10:59:38 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
if sys.argv[-1] == 'publish':
|
|
|
|
|
os.system("python setup.py sdist upload")
|
|
|
|
|
print("You probably want to also tag the version now:")
|
|
|
|
|
print(" git tag -a %s -m 'version %s'" % (version, version))
|
|
|
|
|
print(" git push --tags")
|
|
|
|
|
sys.exit()
|
2013-05-14 12:12:32 +00:00
|
|
|
|
|
|
|
|
LONG_DESCRIPTION = open('README.rst').read()
|
|
|
|
|
|
|
|
|
|
setup(
|
|
|
|
|
name='django-admin2',
|
2013-05-17 10:59:38 +00:00
|
|
|
version=version,
|
2013-05-14 12:12:32 +00:00
|
|
|
description="An introspective interface for Django's ORM.",
|
|
|
|
|
long_description=LONG_DESCRIPTION,
|
|
|
|
|
classifiers=[
|
2013-05-17 10:38:39 +00:00
|
|
|
"Development Status :: 2 - Pre-Alpha",
|
2013-05-14 12:12:32 +00:00
|
|
|
"Environment :: Web Environment",
|
|
|
|
|
"Framework :: Django",
|
|
|
|
|
"License :: OSI Approved :: BSD License",
|
|
|
|
|
"Operating System :: OS Independent",
|
|
|
|
|
"Programming Language :: JavaScript",
|
|
|
|
|
"Programming Language :: Python :: 2.7",
|
|
|
|
|
"Programming Language :: Python :: 3.3",
|
|
|
|
|
"Topic :: Internet :: WWW/HTTP",
|
|
|
|
|
"Topic :: Internet :: WWW/HTTP :: Dynamic Content",
|
|
|
|
|
"Topic :: Software Development :: Libraries :: Python Modules",
|
|
|
|
|
],
|
|
|
|
|
keywords='django,admin',
|
2013-05-18 14:50:02 +00:00
|
|
|
author=author,
|
2013-05-14 12:12:32 +00:00
|
|
|
author_email='pydanny@gmail.com',
|
|
|
|
|
url='http://github.com/pydanny/django-admin2',
|
|
|
|
|
license='MIT',
|
2013-05-18 09:52:03 +00:00
|
|
|
packages=get_packages('djadmin2'),
|
2013-05-14 12:12:32 +00:00
|
|
|
include_package_data=True,
|
2013-05-18 12:16:07 +00:00
|
|
|
test_suite='runtests.runtests',
|
2013-05-17 10:38:39 +00:00
|
|
|
install_requires=[
|
|
|
|
|
'django>=1.5.0',
|
|
|
|
|
'django-braces==1.0.0',
|
2013-05-17 10:59:38 +00:00
|
|
|
'djangorestframework==2.3.3'
|
2013-05-17 10:38:39 +00:00
|
|
|
],
|
2013-05-14 12:12:32 +00:00
|
|
|
zip_safe=False,
|
2013-05-14 14:56:29 +00:00
|
|
|
)
|
2013-05-17 10:59:38 +00:00
|
|
|
|
|
|
|
|
# (*) Please direct queries to Github issue list, rather than to me directly
|
|
|
|
|
# Doing so helps ensure your question is helpful to other users.
|
|
|
|
|
# Queries directly to my email are likely to receive a canned response.
|
|
|
|
|
#
|
|
|
|
|
# Many thanks for your understanding.
|