Commits

Anonymous committed 383ca39

Add improved setup.py, courtesy of Raphael Hertzog

Comments (0)

Files changed (1)

 from distutils.core import setup
+import os
+
+# Compile the list of packages available, because distutils doesn't have
+# an easy way to do this.
+packages, data_files = [], []
+root_dir = os.path.dirname(__file__)
+if root_dir:
+    os.chdir(root_dir)
+
+for dirpath, dirnames, filenames in os.walk('registration'):
+    # Ignore dirnames that start with '.'
+    for i, dirname in enumerate(dirnames):
+        if dirname.startswith('.'): del dirnames[i]
+    if '__init__.py' in filenames:
+        pkg = dirpath.replace(os.path.sep, '.')
+        if os.path.altsep:
+            pkg = pkg.replace(os.path.altsep, '.')
+        packages.append(pkg)
+    elif filenames:
+        prefix = dirpath[13:] # Strip "registration/" or "registration\"
+        for f in filenames:
+            data_files.append(os.path.join(prefix, f))
+
 
 setup(name='registration',
       version='0.3p4',
       author='James Bennett',
       author_email='james@b-list.org',
       url='http://code.google.com/p/django-registration/',
-      packages=['registration'],
+      package_dir={'registration': 'registration'},
+      packages=packages,
+      package_data={'registration': data_files},
       classifiers=['Development Status :: 4 - Beta',
                    'Environment :: Web Environment',
                    'Intended Audience :: Developers',