server/python/django/setup.py
author durandn
Thu, 21 Apr 2016 15:18:19 +0200
changeset 605 13d355fd09bf
parent 338 34c339f32aeb
permissions -rw-r--r--
updated uri to allow optional trailing slash on single resource URIs (django automatic redirects don't carry over the Authorization header that can sometimes be needed, for instance with OAuth)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
336
2ab4e8833410 improve setup.py
ymh <ymh.work@gmail.com>
parents: 334
diff changeset
     1
import os
2ab4e8833410 improve setup.py
ymh <ymh.work@gmail.com>
parents: 334
diff changeset
     2
import sys
2ab4e8833410 improve setup.py
ymh <ymh.work@gmail.com>
parents: 334
diff changeset
     3
334
de35ce18643a add setup for renkanmanager.
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
from setuptools import setup, find_packages
de35ce18643a add setup for renkanmanager.
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
de35ce18643a add setup for renkanmanager.
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
# Dynamically calculate the version based on django.VERSION.
de35ce18643a add setup for renkanmanager.
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
version = __import__('renkanmanager').get_version()
de35ce18643a add setup for renkanmanager.
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
336
2ab4e8833410 improve setup.py
ymh <ymh.work@gmail.com>
parents: 334
diff changeset
     9
def launch_setup(script_name, script_args):
334
de35ce18643a add setup for renkanmanager.
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
338
34c339f32aeb Improve setup.py to include static files
ymh <ymh.work@gmail.com>
parents: 336
diff changeset
    11
34c339f32aeb Improve setup.py to include static files
ymh <ymh.work@gmail.com>
parents: 336
diff changeset
    12
    data_files = []
34c339f32aeb Improve setup.py to include static files
ymh <ymh.work@gmail.com>
parents: 336
diff changeset
    13
    
34c339f32aeb Improve setup.py to include static files
ymh <ymh.work@gmail.com>
parents: 336
diff changeset
    14
    root_dir = os.path.dirname(__file__)
34c339f32aeb Improve setup.py to include static files
ymh <ymh.work@gmail.com>
parents: 336
diff changeset
    15
    if root_dir != '':
34c339f32aeb Improve setup.py to include static files
ymh <ymh.work@gmail.com>
parents: 336
diff changeset
    16
        os.chdir(root_dir)
34c339f32aeb Improve setup.py to include static files
ymh <ymh.work@gmail.com>
parents: 336
diff changeset
    17
    source_dir = 'renkanmanager'
34c339f32aeb Improve setup.py to include static files
ymh <ymh.work@gmail.com>
parents: 336
diff changeset
    18
34c339f32aeb Improve setup.py to include static files
ymh <ymh.work@gmail.com>
parents: 336
diff changeset
    19
    
34c339f32aeb Improve setup.py to include static files
ymh <ymh.work@gmail.com>
parents: 336
diff changeset
    20
    for dirpath, dirnames, filenames in os.walk(source_dir):
34c339f32aeb Improve setup.py to include static files
ymh <ymh.work@gmail.com>
parents: 336
diff changeset
    21
        # Ignore dirnames that start with '.'
34c339f32aeb Improve setup.py to include static files
ymh <ymh.work@gmail.com>
parents: 336
diff changeset
    22
        for i, dirname in enumerate(dirnames):
34c339f32aeb Improve setup.py to include static files
ymh <ymh.work@gmail.com>
parents: 336
diff changeset
    23
            if dirname.startswith('.'): del dirnames[i]
34c339f32aeb Improve setup.py to include static files
ymh <ymh.work@gmail.com>
parents: 336
diff changeset
    24
        if filenames and '__init__.py' not in filenames:
34c339f32aeb Improve setup.py to include static files
ymh <ymh.work@gmail.com>
parents: 336
diff changeset
    25
            data_files.append([dirpath, [os.path.join(dirpath, f) for f in filenames]])
34c339f32aeb Improve setup.py to include static files
ymh <ymh.work@gmail.com>
parents: 336
diff changeset
    26
34c339f32aeb Improve setup.py to include static files
ymh <ymh.work@gmail.com>
parents: 336
diff changeset
    27
    #write MANIFEST.in
34c339f32aeb Improve setup.py to include static files
ymh <ymh.work@gmail.com>
parents: 336
diff changeset
    28
    
34c339f32aeb Improve setup.py to include static files
ymh <ymh.work@gmail.com>
parents: 336
diff changeset
    29
    with open("MANIFEST.in", "w") as m:
34c339f32aeb Improve setup.py to include static files
ymh <ymh.work@gmail.com>
parents: 336
diff changeset
    30
        m.write("include MANIFEST.in\n")
34c339f32aeb Improve setup.py to include static files
ymh <ymh.work@gmail.com>
parents: 336
diff changeset
    31
        for entry in data_files:
34c339f32aeb Improve setup.py to include static files
ymh <ymh.work@gmail.com>
parents: 336
diff changeset
    32
            file_list = entry[1]
34c339f32aeb Improve setup.py to include static files
ymh <ymh.work@gmail.com>
parents: 336
diff changeset
    33
            for filename in file_list:
34c339f32aeb Improve setup.py to include static files
ymh <ymh.work@gmail.com>
parents: 336
diff changeset
    34
                m.write("include %s\n" % (filename))
34c339f32aeb Improve setup.py to include static files
ymh <ymh.work@gmail.com>
parents: 336
diff changeset
    35
336
2ab4e8833410 improve setup.py
ymh <ymh.work@gmail.com>
parents: 334
diff changeset
    36
    setup(
2ab4e8833410 improve setup.py
ymh <ymh.work@gmail.com>
parents: 334
diff changeset
    37
        script_name = script_name,
2ab4e8833410 improve setup.py
ymh <ymh.work@gmail.com>
parents: 334
diff changeset
    38
        script_args = script_args,
2ab4e8833410 improve setup.py
ymh <ymh.work@gmail.com>
parents: 334
diff changeset
    39
        name='renkanmanager',
2ab4e8833410 improve setup.py
ymh <ymh.work@gmail.com>
parents: 334
diff changeset
    40
        version=version,
2ab4e8833410 improve setup.py
ymh <ymh.work@gmail.com>
parents: 334
diff changeset
    41
        url='http://renkan.iri-research.org/',
2ab4e8833410 improve setup.py
ymh <ymh.work@gmail.com>
parents: 334
diff changeset
    42
        author='I.R.I.',
2ab4e8833410 improve setup.py
ymh <ymh.work@gmail.com>
parents: 334
diff changeset
    43
        author_email='contact@iri-research.org',
2ab4e8833410 improve setup.py
ymh <ymh.work@gmail.com>
parents: 334
diff changeset
    44
        description=('Basic Django module for saving renkan'),
2ab4e8833410 improve setup.py
ymh <ymh.work@gmail.com>
parents: 334
diff changeset
    45
        license='CECILL-B',
2ab4e8833410 improve setup.py
ymh <ymh.work@gmail.com>
parents: 334
diff changeset
    46
        packages=find_packages(),
2ab4e8833410 improve setup.py
ymh <ymh.work@gmail.com>
parents: 334
diff changeset
    47
        include_package_data=True,
2ab4e8833410 improve setup.py
ymh <ymh.work@gmail.com>
parents: 334
diff changeset
    48
        zip_safe=False,
2ab4e8833410 improve setup.py
ymh <ymh.work@gmail.com>
parents: 334
diff changeset
    49
        classifiers=[
2ab4e8833410 improve setup.py
ymh <ymh.work@gmail.com>
parents: 334
diff changeset
    50
            'Development Status :: 3 - Alpha',
2ab4e8833410 improve setup.py
ymh <ymh.work@gmail.com>
parents: 334
diff changeset
    51
            'Environment :: Web Environment',
2ab4e8833410 improve setup.py
ymh <ymh.work@gmail.com>
parents: 334
diff changeset
    52
            'Framework :: Django',
2ab4e8833410 improve setup.py
ymh <ymh.work@gmail.com>
parents: 334
diff changeset
    53
            'Intended Audience :: Developers',
2ab4e8833410 improve setup.py
ymh <ymh.work@gmail.com>
parents: 334
diff changeset
    54
            'License :: OSI Approved :: CECILL License',
2ab4e8833410 improve setup.py
ymh <ymh.work@gmail.com>
parents: 334
diff changeset
    55
            'Operating System :: OS Independent',
2ab4e8833410 improve setup.py
ymh <ymh.work@gmail.com>
parents: 334
diff changeset
    56
            'Programming Language :: Python',
2ab4e8833410 improve setup.py
ymh <ymh.work@gmail.com>
parents: 334
diff changeset
    57
            'Programming Language :: Python :: 2',
2ab4e8833410 improve setup.py
ymh <ymh.work@gmail.com>
parents: 334
diff changeset
    58
            'Programming Language :: Python :: 2.7',
2ab4e8833410 improve setup.py
ymh <ymh.work@gmail.com>
parents: 334
diff changeset
    59
            'Topic :: Internet :: WWW/HTTP',
2ab4e8833410 improve setup.py
ymh <ymh.work@gmail.com>
parents: 334
diff changeset
    60
            'Topic :: Internet :: WWW/HTTP :: Dynamic Content',
2ab4e8833410 improve setup.py
ymh <ymh.work@gmail.com>
parents: 334
diff changeset
    61
            'Topic :: Internet :: WWW/HTTP :: WSGI',
2ab4e8833410 improve setup.py
ymh <ymh.work@gmail.com>
parents: 334
diff changeset
    62
            'Topic :: Software Development :: Libraries :: Python Modules',
2ab4e8833410 improve setup.py
ymh <ymh.work@gmail.com>
parents: 334
diff changeset
    63
        ],
2ab4e8833410 improve setup.py
ymh <ymh.work@gmail.com>
parents: 334
diff changeset
    64
    )
2ab4e8833410 improve setup.py
ymh <ymh.work@gmail.com>
parents: 334
diff changeset
    65
    
2ab4e8833410 improve setup.py
ymh <ymh.work@gmail.com>
parents: 334
diff changeset
    66
if __name__ == "__main__":
2ab4e8833410 improve setup.py
ymh <ymh.work@gmail.com>
parents: 334
diff changeset
    67
    
2ab4e8833410 improve setup.py
ymh <ymh.work@gmail.com>
parents: 334
diff changeset
    68
    script_name = os.path.basename(sys.argv[0])
2ab4e8833410 improve setup.py
ymh <ymh.work@gmail.com>
parents: 334
diff changeset
    69
    script_args = sys.argv[1:]
2ab4e8833410 improve setup.py
ymh <ymh.work@gmail.com>
parents: 334
diff changeset
    70
    
2ab4e8833410 improve setup.py
ymh <ymh.work@gmail.com>
parents: 334
diff changeset
    71
    launch_setup(script_name, script_args)