Skip to content

Commit

Permalink
updated setup.py
Browse files Browse the repository at this point in the history
  • Loading branch information
saxix committed Mar 6, 2013
1 parent 825d4ab commit 6640954
Show file tree
Hide file tree
Showing 3 changed files with 71 additions and 52 deletions.
1 change: 1 addition & 0 deletions MANIFEST.in
Expand Up @@ -4,3 +4,4 @@ include LICENSE
include MANIFEST.in
include setup.py
recursive-include maintenance *.py
include requirements.txt
2 changes: 1 addition & 1 deletion maintenance/__init__.py
@@ -1,5 +1,5 @@
NAME = 'django-site-maintenance'
VERSION = __version__ = (0, 1, 3, 'beta', 1)
VERSION = __version__ = (0, 1, 3, 'beta', 3)
__author__ = 'sax'


Expand Down
120 changes: 69 additions & 51 deletions setup.py
@@ -1,20 +1,25 @@
#!/usr/bin/env python
from distutils.core import setup
from distutils.command.install import INSTALL_SCHEMES
import os
import maintenance
from distutils.core import setup, Command
from distutils.command.register import register
from distutils.command.upload import upload

NAME = maintenance.NAME
VERSION = RELEASE = maintenance.get_version()
from distutils.command.install import INSTALL_SCHEMES
import sys

for scheme in INSTALL_SCHEMES.values():
scheme['data'] = scheme['purelib']
dirname = 'maintenance'

app = __import__(dirname)

packages, data_files = [], []
root_dir = os.path.dirname(__file__)
if root_dir != '':
os.chdir(root_dir)
VERSIONMAP = {'final': (app.VERSION, 'Development Status :: 5 - Production/Stable'),
'rc': (app.VERSION, 'Development Status :: 4 - Beta'),
'beta': (app.VERSION, 'Development Status :: 4 - Beta'),
'alpha': ('master', 'Development Status :: 3 - Alpha'), }

download_tag, development_status = VERSIONMAP[app.VERSION[3]]

for scheme in INSTALL_SCHEMES.values():
scheme['data'] = scheme['purelib']


def fullsplit(path, result=None):
Expand All @@ -32,52 +37,65 @@ def fullsplit(path, result=None):
return fullsplit(head, [tail] + result)


def scan_dir( target, packages=[], data_files=[] ):
for dirpath, dirnames, filenames in os.walk(target):
# Ignore dirnames that start with '.'
for i, dirname in enumerate(dirnames):
if dirname.startswith('.'): del dirnames[i]
if '__init__.py' in filenames:
packages.append('.'.join(fullsplit(dirpath)))
elif filenames:
data_files.append([dirpath, [os.path.join(dirpath, f) for f in filenames]])
def scan_dir(target, _packages=None, _data_files=None):
packages = _packages or []
data_files = _data_files or []
for dir_path, dir_names, file_names in os.walk(target):
# Ignore dir_names that start with '.'
for i, dir_name in enumerate(dir_names):
if dir_name.startswith('.'):
del dir_names[i]
if '__init__.py' in file_names:
packages.append('.'.join(fullsplit(dir_path)))
elif file_names:
data_files.append([dir_path, [os.path.join(dir_path, f) for f in file_names]])
return packages, data_files

packages, data_files = scan_dir('maintenance')
packages, data_files = scan_dir(dirname)


def process_requirements(filename):
urls, pkgs = [], []
with open(filename) as fd:
for line in fd.read().splitlines():
line = line.strip()
if line.startswith('-i'):
urls.append(line.split()[1])
elif line.startswith('http://') or line.startswith('https://'):
urls.append(line)
pkgs.append(os.path.basename(line))
elif line.startswith('-f'):
urls.append(line.split()[1])
elif line.startswith('-r'):
include_file = line.split()[1]
a, b = process_requirements(os.path.join(os.path.dirname(filename), include_file))
urls.extend(a)
pkgs.extend(b)
elif line.startswith('#'):
pass
else:
pkgs.append(line)
return pkgs, urls

if VERSION[3] == 'final':
download_tag = RELEASE
else:
download_tag = 'master'
dependencies, dependency_links = process_requirements('requirements.txt')

setup(
name=NAME,
version=RELEASE,
url='https://github.com/saxix/django-site-maintenance',
download_url = 'https://github.com/saxix/django-site-maintenance/tarball/%s' % download_tag,
author='sax',
author_email='sax@os4d.org',
license='BSD',
name=app.NAME,
version=app.get_version(),
url='https://github.com/saxix/%s' % app.NAME,
download_url='http://pypi.python.org/packages/source/d/{app}/{app}-{ver}.tar.gz' % {'app':app.NAME, 'ver':app.get_version()},
author='Stefano Apostolico',
author_email='s.apostolico@gmail.com',
license="MIT License",
packages=packages,
data_files=data_files,
include_package_data=True,
platforms=['any'],
platforms=['linux'],
install_requires=dependencies,
dependency_links=dependency_links,
classifiers=[
'Development Status :: 5 - Production/Stable',
'Environment :: Web Environment',
'Framework :: Django',
'Intended Audience :: Developers',
'License :: OSI Approved :: BSD License',
'Operating System :: OS Independent',
'Programming Language :: Python',
'Programming Language :: Python :: 2.5',
'Programming Language :: Python :: 2.6',
'Programming Language :: Python :: 2.7',
'Topic :: Internet :: WWW/HTTP',
'Topic :: Internet :: WWW/HTTP :: Dynamic Content',
'Topic :: Internet :: WWW/HTTP :: WSGI',
'Topic :: Software Development :: Libraries :: Application Frameworks',
'Topic :: Software Development :: Libraries :: Python Modules',
],
long_description=open('README.rst').read()
development_status,
'Environment :: Web Environment',
'Framework :: Django',
'Programming Language :: Python :: 2.7',
'Intended Audience :: Developers']
)

0 comments on commit 6640954

Please sign in to comment.