2 # -*- coding: utf-8 -*-
5 from distutils.core import setup
9 os.path.isdir(path) and
10 os.path.isfile(os.path.join(path, '__init__.py'))
13 def find_packages(path, base="" ):
14 """ Find all packages in path """
16 for item in os.listdir(path):
17 dir = os.path.join(path, item)
20 module_name = "%(base)s.%(item)s" % vars()
23 packages[module_name] = dir
24 packages.update(find_packages(dir, module_name))
27 def files_from(*paths, **kwargs):
28 base = kwargs.pop('base')
31 path = os.path.join(base, path)
34 if not os.path.isdir(path) or is_package(path): continue
36 for dir, _, files in os.walk(path):
38 yield os.path.relpath(os.path.join(dir, file),base)
40 return list(generator())
42 RESOURCE_PATHS = ('templates', 'static', 'media', 'locale', 'config')
44 def django_setup(project, apps=[], apps_dir='apps', package_dir = {}, packages = [], package_data = {}, **kwargs):
47 extra_dirs = dict( (app, os.path.join(apps_dir,app)) for app in apps )
48 extra_dirs[project] = project
49 package_dir.update(extra_dirs)
53 # with all subpackages
55 packages.extend(find_packages(os.path.join(apps_dir, app), base=app))
57 packages.append(project)
62 extra_data[app] = files_from(*RESOURCE_PATHS, base=os.path.join(apps_dir, app))
63 extra_data[project] = files_from(*RESOURCE_PATHS, base=project)
64 package_data.update(extra_data)
67 package_dir = package_dir,
69 package_data = package_data, **kwargs)
77 description='IDE for developing books.',
78 author="Fundacja Nowoczesna Polska",
79 author_email='fundacja@nowoczesnapolska.org.pl',
80 license="GNU Affero General Public License 3",
81 maintainer='Ćukasz Rekucki',
82 maintainer_email='lrekucki@gmail.com',
83 url='http://github.com/fnp/redakcja',
84 package_dir = {'': 'lib'},
94 project = 'platforma',
103 # data_files=[ ('', ['LICENSE', 'NOTICE', 'README.rst', 'AUTHORS.md', 'requirements.txt'])],