# HG changeset patch # User Peter Sanchez # Date 1290716687 28800 # Thu Nov 25 12:24:47 2010 -0800 # Node ID 6afaafb58bd5e2887d7b6f745069ed214026f553 # Parent d921ad4a19b843dbbcac3be978a1f05cdcf5de2e Another setup.py update. Auto detect packages and files diff --git a/setup.py b/setup.py --- a/setup.py +++ b/setup.py @@ -1,24 +1,43 @@ +import os from distutils.core import setup +project_name = 'twittersync' long_description = open('README.txt').read() +# Idea from django-registration setup.py +packages, data_files = [], [] +root_dir = os.path.dirname(__file__) +if root_dir: + os.chdir(root_dir) + +for dirpath, dirnames, filenames in os.walk(project_name): + # 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[(len(project_name) + 1):] + for f in filenames: + data_files.append(os.path.join(prefix, f)) + setup( name='django-twittersync', - version=__import__('twittersync').__version__, - package_dir={'twittersync': 'twittersync'}, - packages=[ - 'twittersync', - 'twittersync.management', - 'twittersync.management.commands', - 'twittersync.templatetags', - ], + version=__import__(project_name).__version__, + package_dir={project_name: project_name}, + packages=packages, + package_data={project_name: data_files}, description='Django app to sync Twitter stream to local DB.', author='Peter Sanchez', author_email='petersanchez@gmail.com', license='BSD License', url='http://bitbucket.org/petersanchez/twittersync/', long_description=long_description, - platforms=["any"], + platforms=['any'], classifiers=[ 'Development Status :: 4 - Beta', 'Intended Audience :: Developers',