--- a/src/ldt/setup.py Mon Apr 30 16:41:39 2012 +0200
+++ b/src/ldt/setup.py Thu May 03 17:07:41 2012 +0200
@@ -4,6 +4,7 @@
from distutils.command.install import INSTALL_SCHEMES
import sys
+
class osx_install_data(install_data):
# On MacOS, the platform-specific lib dir is /System/Library/Framework/Python/.../
# which is wrong. Python 2.5 supplied with MacOS 10.5 has an Apple-specific fix
@@ -17,25 +18,6 @@
self.set_undefined_options('install', ('install_lib', 'install_dir'))
install_data.finalize_options(self)
-if sys.platform == "darwin":
- cmdclasses = {'install_data': osx_install_data}
-else:
- cmdclasses = {'install_data': install_data}
-
-
-root_dir = os.path.dirname(__file__)
-if root_dir != '':
- os.chdir(root_dir)
-source_dir = 'ldt'
-
-version_variables = {}
-try:
- execfile(os.path.join(source_dir, "__init__.py"), version_variables)
-except:
- pass
-
-version = version_variables['__version__']
-
def fullsplit(path, result=None):
"""
Split a pathname into components (the opposite of os.path.join) in a
@@ -50,64 +32,94 @@
return result
return fullsplit(head, [tail] + result)
-packages, data_files = [], []
-
-for dirpath, dirnames, filenames in os.walk(source_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]])
+def launch_setup(script_name, script_args):
+ if sys.platform == "darwin":
+ cmdclasses = {'install_data': osx_install_data}
+ else:
+ cmdclasses = {'install_data': install_data}
+
+
+ root_dir = os.path.dirname(__file__)
+ if root_dir != '':
+ os.chdir(root_dir)
+ source_dir = 'ldt'
+
+ version_variables = {}
+ try:
+ execfile(os.path.join(source_dir, "__init__.py"), version_variables)
+ except:
+ pass
+
+ version = version_variables['__version__']
+
+ packages, data_files = [], []
+
+
+ for dirpath, dirnames, filenames in os.walk(source_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]])
+
+
+ # Tell distutils to put the data_files in platform-specific installation
+ # locations. See here for an explanation:
+ # http://groups.google.com/group/comp.lang.python/browse_thread/thread/35ec7b2fed36eaec/2105ee4d9e8042cb
+ for scheme in INSTALL_SCHEMES.values():
+ scheme['data'] = scheme['purelib']
+
+ # Small hack for working with bdist_wininst.
+ # See http://mail.python.org/pipermail/distutils-sig/2004-August/004134.html
+ if len(sys.argv) > 1 and sys.argv[1] == 'bdist_wininst':
+ for file_info in data_files:
+ file_info[0] = '\\PURELIB\\%s' % file_info[0]
+
+ #write MANIFEST.in
+
+ with open("MANIFEST.in", "w") as m:
+ m.write("include CHANGES\n")
+ m.write("include LICENSE\n")
+ m.write("include README\n")
+ m.write("include MANIFEST.in\n")
+ for entry in data_files:
+ file_list = entry[1]
+ for filename in file_list:
+ m.write("include %s\n" % (filename))
+
+ setup(
+ script_name = script_name,
+ script_args = script_args,
+ name='ldt',
+ version=version,
+ author='IRI',
+ author_email='contact@iri.centrepompidou.fr',
+ packages=packages,
+ data_files=data_files,
+ cmdclass = cmdclasses,
+ scripts=[],
+ url='http://www.iri.centrepompidou.fr/dev/hg/platform',
+ license='LICENSE.txt',
+ description='Platform ldt',
+ long_description=open('README').read(),
+ classifiers=['Development Status :: 5 - Production/Stable',
+ 'Environment :: Web Environment',
+ 'Framework :: Django',
+ 'Intended Audience :: Developers',
+ 'License :: Ceccil-C',
+ 'Operating System :: OS Independent',
+ 'Programming Language :: Python',
+ 'Topic :: Utilities',
+ ],
+ )
-# Tell distutils to put the data_files in platform-specific installation
-# locations. See here for an explanation:
-# http://groups.google.com/group/comp.lang.python/browse_thread/thread/35ec7b2fed36eaec/2105ee4d9e8042cb
-for scheme in INSTALL_SCHEMES.values():
- scheme['data'] = scheme['purelib']
-
-# Small hack for working with bdist_wininst.
-# See http://mail.python.org/pipermail/distutils-sig/2004-August/004134.html
-if len(sys.argv) > 1 and sys.argv[1] == 'bdist_wininst':
- for file_info in data_files:
- file_info[0] = '\\PURELIB\\%s' % file_info[0]
-
-#write MANIFEST.in
-
-with open("MANIFEST.in", "w") as m:
- m.write("include CHANGES\n")
- m.write("include LICENSE\n")
- m.write("include README\n")
- m.write("include MANIFEST.in\n")
- for entry in data_files:
- file_list = entry[1]
- for filename in file_list:
- m.write("include %s\n" % (filename))
-
-
-setup(
- name='ldt',
- version=version,
- author='IRI',
- author_email='contact@iri.centrepompidou.fr',
- packages=packages,
- data_files=data_files,
- cmdclass = cmdclasses,
- scripts=[],
- url='http://www.iri.centrepompidou.fr/dev/hg/platform',
- license='LICENSE.txt',
- description='Platform ldt',
- long_description=open('README').read(),
- classifiers=['Development Status :: 5 - Production/Stable',
- 'Environment :: Web Environment',
- 'Framework :: Django',
- 'Intended Audience :: Developers',
- 'License :: Ceccil-C',
- 'Operating System :: OS Independent',
- 'Programming Language :: Python',
- 'Topic :: Utilities',
- ],
-)
+if __name__ == "__main__":
+
+ script_name = os.path.basename(sys.argv[0])
+ script_args = sys.argv[1:]
+
+ launch_setup(script_name, script_args)
\ No newline at end of file