src/ldt/setup.py
changeset 30 83f4abc7568f
parent 13 97ab7b3191cf
child 48 ef3a8cfef2bc
--- a/src/ldt/setup.py	Tue Feb 15 15:29:57 2011 +0100
+++ b/src/ldt/setup.py	Thu Feb 17 18:50:34 2011 +0100
@@ -12,7 +12,7 @@
     platform-neutral way.
     """
     if result is None:
-       result = []
+        result = []
     head, tail = os.path.split(path)
     if head == '':
         return [tail] + result
@@ -20,33 +20,37 @@
         return result
     return fullsplit(head, [tail] + result)
 
-packages, data_files = [], []
+packages, data_files, path_processed = [], {}, []
+
+#TODO : uses find_packages form setuptools and teh mercurial extension
 
-for dirpath, dirnames, filenames in os.walk(SOURCE_DIR):
+for dirpath, dirnames, filenames in os.walk(SOURCE_DIR,True):
     # Ignore dirnames that start with '.'
+    if dirpath in path_processed:
+        continue
+    path_processed.append(dirpath)
     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]])
+    else:
+        new_data_files = []
+        base_path_list = fullsplit(dirpath)[:-1]
+        base_path = "/".join(base_path_list) + "/"
+        key = '.'.join(base_path_list)
+        for ldirpath, ldirnames, lfilenames in os.walk(dirpath):
+            path_processed.append(ldirpath)
+            new_data_files.extend([os.path.join(ldirpath[len(base_path):], f) for f in lfilenames])
+        data_files.setdefault(key,[]).extend(new_data_files)
+
 
 setup(
-    name='Ldt',
+    name='ldt',
     version=version,
     author='Yves-Marie Haussonne (IRI)',
     author_email='contact@iri.centrepompidou.fr',
-    packages=packages,
-    data_files=data_files,
-#    package_data = {
-#        '': [
-#            'media/*',
-#            'locale/*/LC_MESSAGES/*',
-#            'templates/ldt/*.html',
-#            'templates/admin/*.html',
-#            'templates/cms/admin/cms/page/*.html',
-#       ]
-#    },
+    packages = find_packages(),
+    package_data = data_files,
     scripts=[],
     url='https://www.iri.centrepompidou.fr/dev/hg/platform',
     license='LICENSE.txt',