Add documentation to the FilenameMunger class.
[mediagoblin.git] / setup.py
CommitLineData
8e1e744d 1# GNU MediaGoblin -- federated, autonomous media hosting
7f4ebeed 2# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS.
e5572c60
ML
3#
4# This program is free software: you can redistribute it and/or modify
5# it under the terms of the GNU Affero General Public License as published by
6# the Free Software Foundation, either version 3 of the License, or
7# (at your option) any later version.
8#
9# This program is distributed in the hope that it will be useful,
10# but WITHOUT ANY WARRANTY; without even the implied warranty of
11# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12# GNU Affero General Public License for more details.
13#
14# You should have received a copy of the GNU Affero General Public License
15# along with this program. If not, see <http://www.gnu.org/licenses/>.
16
31a8ff42 17from setuptools import setup, find_packages
cf37fffc
WKG
18import os
19import re
20
21READMEFILE = "README"
22VERSIONFILE = os.path.join("mediagoblin", "_version.py")
23VSRE = r"^__version__ = ['\"]([^'\"]*)['\"]"
24
25
26def get_version():
27 verstrline = open(VERSIONFILE, "rt").read()
28 mo = re.search(VSRE, verstrline, re.M)
29 if mo:
30 return mo.group(1)
31 else:
243c3843
NY
32 raise RuntimeError("Unable to find version string in %s." %
33 VERSIONFILE)
cf37fffc 34
31a8ff42 35
31a8ff42 36setup(
243c3843
NY
37 name="mediagoblin",
38 version=get_version(),
31a8ff42
CAW
39 packages=find_packages(exclude=['ez_setup', 'examples', 'tests']),
40 zip_safe=False,
d595374d 41 include_package_data = True,
0c04118b 42 # scripts and dependencies
243c3843 43 install_requires=[
0c04118b
CAW
44 'setuptools',
45 'PasteScript',
46 'beaker',
47 'routes',
48 'pymongo',
508775bd 49 'mongokit',
eb5bb3fc 50 'webob<=1.2a2',
0c04118b 51 'wtforms',
6755f50e 52 'py-bcrypt',
4b5f4e87 53 'nose',
9578fe50 54 'werkzeug',
6bcab715 55 'celery',
132a68b5
CAW
56 'jinja2',
57 'sphinx',
883cf497 58 'PIL',
84d4f04e 59 'Babel',
b4e877ae 60 'translitcodec',
029cad45 61 'argparse',
c5678c1a 62 'webtest',
f970e6e5 63 'ConfigObj',
44e2da2f 64 'Markdown',
99812bbc
CAW
65 'sqlalchemy',
66 'sqlalchemy-migrate',
b594eadf 67 'kombu-sqlalchemy',
d45e3966
CAW
68 ## For now we're expecting that users will install this from
69 ## their package managers.
70 # 'lxml',
0c04118b 71 ],
1b766201 72 # requires=['gst'],
4b5f4e87 73 test_suite='nose.collector',
243c3843 74 entry_points="""\
b7e57b1f
WKG
75 [console_scripts]
76 gmg = mediagoblin.gmg_commands:main_cli
fbeeacd7 77 pybabel = mediagoblin.babel.messages.frontend:main
029cad45 78
b7e57b1f
WKG
79 [paste.app_factory]
80 app = mediagoblin.app:paste_app_factory
df0953ce 81
72ae87af
CAW
82 [paste.filter_app_factory]
83 errors = mediagoblin.errormiddleware:mgoblin_error_middleware
84
b7e57b1f
WKG
85 [zc.buildout]
86 make_user_dev_dirs = mediagoblin.buildout_recipes:MakeUserDevDirs
84d4f04e 87
b7e57b1f
WKG
88 [babel.extractors]
89 jinja2 = jinja2.ext:babel_extract
90 """,
b7e57b1f
WKG
91 license='AGPLv3',
92 author='Free Software Foundation and contributors',
93 author_email='cwebber@gnu.org',
94 url="http://mediagoblin.org/",
95 download_url="http://mediagoblin.org/download/",
cf37fffc 96 long_description=open(READMEFILE).read(),
b7e57b1f
WKG
97 classifiers=[
98 "Development Status :: 3 - Alpha",
99 "Environment :: Web Environment",
100 "License :: OSI Approved :: GNU Affero General Public License",
101 "Operating System :: OS Independent",
102 "Programming Language :: Python",
103 "Topic :: Internet :: WWW/HTTP :: Dynamic Content"
104 ],
31a8ff42 105 )