src/ldt/setup.py
author ymh <ymh.work@gmail.com>
Thu, 17 Feb 2011 18:50:34 +0100
changeset 30 83f4abc7568f
parent 13 97ab7b3191cf
child 48 ef3a8cfef2bc
permissions -rw-r--r--
correct setup for ldt
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
import os
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
from setuptools import setup, find_packages
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
ROOT_DIR = os.path.dirname(__file__)
3
03918bc7b9f1 small corrections on install
ymh <ymh.work@gmail.com>
parents: 2
diff changeset
     5
SOURCE_DIR = os.path.join(ROOT_DIR, 'ldt')
0
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
version = __import__('ldt').__version__
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
3
03918bc7b9f1 small corrections on install
ymh <ymh.work@gmail.com>
parents: 2
diff changeset
     9
def fullsplit(path, result=None):
03918bc7b9f1 small corrections on install
ymh <ymh.work@gmail.com>
parents: 2
diff changeset
    10
    """
03918bc7b9f1 small corrections on install
ymh <ymh.work@gmail.com>
parents: 2
diff changeset
    11
    Split a pathname into components (the opposite of os.path.join) in a
03918bc7b9f1 small corrections on install
ymh <ymh.work@gmail.com>
parents: 2
diff changeset
    12
    platform-neutral way.
03918bc7b9f1 small corrections on install
ymh <ymh.work@gmail.com>
parents: 2
diff changeset
    13
    """
03918bc7b9f1 small corrections on install
ymh <ymh.work@gmail.com>
parents: 2
diff changeset
    14
    if result is None:
30
83f4abc7568f correct setup for ldt
ymh <ymh.work@gmail.com>
parents: 13
diff changeset
    15
        result = []
3
03918bc7b9f1 small corrections on install
ymh <ymh.work@gmail.com>
parents: 2
diff changeset
    16
    head, tail = os.path.split(path)
03918bc7b9f1 small corrections on install
ymh <ymh.work@gmail.com>
parents: 2
diff changeset
    17
    if head == '':
03918bc7b9f1 small corrections on install
ymh <ymh.work@gmail.com>
parents: 2
diff changeset
    18
        return [tail] + result
03918bc7b9f1 small corrections on install
ymh <ymh.work@gmail.com>
parents: 2
diff changeset
    19
    if head == path:
03918bc7b9f1 small corrections on install
ymh <ymh.work@gmail.com>
parents: 2
diff changeset
    20
        return result
03918bc7b9f1 small corrections on install
ymh <ymh.work@gmail.com>
parents: 2
diff changeset
    21
    return fullsplit(head, [tail] + result)
03918bc7b9f1 small corrections on install
ymh <ymh.work@gmail.com>
parents: 2
diff changeset
    22
30
83f4abc7568f correct setup for ldt
ymh <ymh.work@gmail.com>
parents: 13
diff changeset
    23
packages, data_files, path_processed = [], {}, []
83f4abc7568f correct setup for ldt
ymh <ymh.work@gmail.com>
parents: 13
diff changeset
    24
83f4abc7568f correct setup for ldt
ymh <ymh.work@gmail.com>
parents: 13
diff changeset
    25
#TODO : uses find_packages form setuptools and teh mercurial extension
2
93d48df946cb change platform to ldtplatform
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    26
30
83f4abc7568f correct setup for ldt
ymh <ymh.work@gmail.com>
parents: 13
diff changeset
    27
for dirpath, dirnames, filenames in os.walk(SOURCE_DIR,True):
2
93d48df946cb change platform to ldtplatform
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    28
    # Ignore dirnames that start with '.'
30
83f4abc7568f correct setup for ldt
ymh <ymh.work@gmail.com>
parents: 13
diff changeset
    29
    if dirpath in path_processed:
83f4abc7568f correct setup for ldt
ymh <ymh.work@gmail.com>
parents: 13
diff changeset
    30
        continue
83f4abc7568f correct setup for ldt
ymh <ymh.work@gmail.com>
parents: 13
diff changeset
    31
    path_processed.append(dirpath)
2
93d48df946cb change platform to ldtplatform
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    32
    for i, dirname in enumerate(dirnames):
93d48df946cb change platform to ldtplatform
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    33
        if dirname.startswith('.'): del dirnames[i]
93d48df946cb change platform to ldtplatform
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    34
    if '__init__.py' in filenames:
93d48df946cb change platform to ldtplatform
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    35
        packages.append('.'.join(fullsplit(dirpath)))
30
83f4abc7568f correct setup for ldt
ymh <ymh.work@gmail.com>
parents: 13
diff changeset
    36
    else:
83f4abc7568f correct setup for ldt
ymh <ymh.work@gmail.com>
parents: 13
diff changeset
    37
        new_data_files = []
83f4abc7568f correct setup for ldt
ymh <ymh.work@gmail.com>
parents: 13
diff changeset
    38
        base_path_list = fullsplit(dirpath)[:-1]
83f4abc7568f correct setup for ldt
ymh <ymh.work@gmail.com>
parents: 13
diff changeset
    39
        base_path = "/".join(base_path_list) + "/"
83f4abc7568f correct setup for ldt
ymh <ymh.work@gmail.com>
parents: 13
diff changeset
    40
        key = '.'.join(base_path_list)
83f4abc7568f correct setup for ldt
ymh <ymh.work@gmail.com>
parents: 13
diff changeset
    41
        for ldirpath, ldirnames, lfilenames in os.walk(dirpath):
83f4abc7568f correct setup for ldt
ymh <ymh.work@gmail.com>
parents: 13
diff changeset
    42
            path_processed.append(ldirpath)
83f4abc7568f correct setup for ldt
ymh <ymh.work@gmail.com>
parents: 13
diff changeset
    43
            new_data_files.extend([os.path.join(ldirpath[len(base_path):], f) for f in lfilenames])
83f4abc7568f correct setup for ldt
ymh <ymh.work@gmail.com>
parents: 13
diff changeset
    44
        data_files.setdefault(key,[]).extend(new_data_files)
83f4abc7568f correct setup for ldt
ymh <ymh.work@gmail.com>
parents: 13
diff changeset
    45
2
93d48df946cb change platform to ldtplatform
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    46
0
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    47
setup(
30
83f4abc7568f correct setup for ldt
ymh <ymh.work@gmail.com>
parents: 13
diff changeset
    48
    name='ldt',
13
97ab7b3191cf add api to update project, uses psiton
ymh <ymh.work@gmail.com>
parents: 3
diff changeset
    49
    version=version,
97ab7b3191cf add api to update project, uses psiton
ymh <ymh.work@gmail.com>
parents: 3
diff changeset
    50
    author='Yves-Marie Haussonne (IRI)',
97ab7b3191cf add api to update project, uses psiton
ymh <ymh.work@gmail.com>
parents: 3
diff changeset
    51
    author_email='contact@iri.centrepompidou.fr',
30
83f4abc7568f correct setup for ldt
ymh <ymh.work@gmail.com>
parents: 13
diff changeset
    52
    packages = find_packages(),
83f4abc7568f correct setup for ldt
ymh <ymh.work@gmail.com>
parents: 13
diff changeset
    53
    package_data = data_files,
13
97ab7b3191cf add api to update project, uses psiton
ymh <ymh.work@gmail.com>
parents: 3
diff changeset
    54
    scripts=[],
97ab7b3191cf add api to update project, uses psiton
ymh <ymh.work@gmail.com>
parents: 3
diff changeset
    55
    url='https://www.iri.centrepompidou.fr/dev/hg/platform',
97ab7b3191cf add api to update project, uses psiton
ymh <ymh.work@gmail.com>
parents: 3
diff changeset
    56
    license='LICENSE.txt',
97ab7b3191cf add api to update project, uses psiton
ymh <ymh.work@gmail.com>
parents: 3
diff changeset
    57
    description='Platform ldt',
97ab7b3191cf add api to update project, uses psiton
ymh <ymh.work@gmail.com>
parents: 3
diff changeset
    58
    long_description=open('README.txt').read(),
97ab7b3191cf add api to update project, uses psiton
ymh <ymh.work@gmail.com>
parents: 3
diff changeset
    59
    zip_safe=False,
97ab7b3191cf add api to update project, uses psiton
ymh <ymh.work@gmail.com>
parents: 3
diff changeset
    60
    classifiers=['Development Status :: 5 - Production/Stable',
0
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    61
                   'Environment :: Web Environment',
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    62
                   'Framework :: Django',
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    63
                   'Intended Audience :: Developers',
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    64
                   'License :: Ceccil-C',
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    65
                   'Operating System :: OS Independent',
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    66
                   'Programming Language :: Python',
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    67
                   'Topic :: Utilities'],
bdf22b140727 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    68
)