Source

django-extras / setup.py

Full commit
Tim Savage 7038d86 
Tim Savage f418905 



Tim Savage 208298f 
Tim Savage f418905 


Tim Savage dddfe11 
Tim Savage 208298f 
































Tim Savage dddfe11 

Tim Savage 2bcc6cd 
Tim Savage 208298f 
Tim Savage dddfe11 


Tim Savage 208298f 



















Tim Savage dddfe11 
from setuptools import setup
import os

# Hack to force dist utils to install data files in correct location along with
# Python package.
from distutils.command.install import INSTALL_SCHEMES
for scheme in INSTALL_SCHEMES.values():
    scheme['data'] = scheme['purelib']


def fullsplit(path, result=None):
    """
    Split a pathname into components (the opposite of os.path.join) in a
    platform-neutral way.
    """
    if result is None:
        result = []
    head, tail = os.path.split(path)
    if head == '':
        return [tail] + result
    if head == path:
        return result
    return fullsplit(head, [tail] + result)
    
# Compile the list of packages available, because distutils doesn't have
# an easy way to do this.
packages, data_files = [], []
root_dir = os.path.dirname(__file__)
if root_dir != '':
    os.chdir(root_dir)
django_extras_dir = 'django_extras'

for dirpath, dirnames, filenames in os.walk(django_extras_dir):
    # 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]])

# Dynamically calculate the version based on django_extras.VERSION.
version = __import__('django_extras').get_version()

setup(
    name = "django-extras",
    version = version,
    url = "https://bitbucket.org/timsavage/django-extras",
    author = "Tim Savage",
    author_email = "tim.savage@poweredbypenguins.org",
    description = "A selection of extras for the Django Web framework.",
    packages = packages,
    data_files = data_files,
    requires = ['django'],
    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 :: 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',
    ]
)