thirdparty/google_appengine/lib/django/setup.py
changeset 109 620f9b141567
child 2864 2e0b0af889be
equal deleted inserted replaced
108:261778de26ff 109:620f9b141567
       
     1 from distutils.core import setup
       
     2 from distutils.command.install import INSTALL_SCHEMES
       
     3 import os
       
     4 import sys
       
     5 
       
     6 # Tell distutils to put the data_files in platform-specific installation
       
     7 # locations. See here for an explanation:
       
     8 # http://groups.google.com/group/comp.lang.python/browse_thread/thread/35ec7b2fed36eaec/2105ee4d9e8042cb
       
     9 for scheme in INSTALL_SCHEMES.values():
       
    10     scheme['data'] = scheme['purelib']
       
    11 
       
    12 # Compile the list of packages available, because distutils doesn't have
       
    13 # an easy way to do this.
       
    14 packages, data_files = [], []
       
    15 root_dir = os.path.dirname(__file__)
       
    16 len_root_dir = len(root_dir)
       
    17 django_dir = os.path.join(root_dir, 'django')
       
    18 
       
    19 for dirpath, dirnames, filenames in os.walk(django_dir):
       
    20     # Ignore dirnames that start with '.'
       
    21     for i, dirname in enumerate(dirnames):
       
    22         if dirname.startswith('.'): del dirnames[i]
       
    23     if '__init__.py' in filenames:
       
    24         package = dirpath[len_root_dir:].lstrip('/').replace('/', '.')
       
    25         packages.append(package)
       
    26     else:
       
    27         data_files.append([dirpath, [os.path.join(dirpath, f) for f in filenames]])
       
    28 
       
    29 # Small hack for working with bdist_wininst.
       
    30 # See http://mail.python.org/pipermail/distutils-sig/2004-August/004134.html
       
    31 if len(sys.argv) > 1 and sys.argv[1] == 'bdist_wininst':
       
    32     for file_info in data_files:
       
    33         file_info[0] = '/PURELIB/%s' % file_info[0]
       
    34 
       
    35 setup(
       
    36     name = "Django",
       
    37     version = "0.96.1",
       
    38     url = 'http://www.djangoproject.com/',
       
    39     author = 'Lawrence Journal-World',
       
    40     author_email = 'holovaty@gmail.com',
       
    41     description = 'A high-level Python Web framework that encourages rapid development and clean, pragmatic design.',
       
    42     packages = packages,
       
    43     data_files = data_files,
       
    44     scripts = ['django/bin/django-admin.py'],
       
    45 )