Fixed a small typo that was causing the mediagoblin.moderation.users_detail
[mediagoblin.git] / setup.py
index 1c7caf96fed34d28bbf81b0d47890ba18d6264b9..420d90ab6a398674f359f42e4699b95dd396d002 100644 (file)
--- a/setup.py
+++ b/setup.py
@@ -32,8 +32,8 @@ def get_version():
         raise RuntimeError("Unable to find version string in %s." %
                            VERSIONFILE)
 
-
-setup(
+try:
+    setup(
     name="mediagoblin",
     version=get_version(),
     packages=find_packages(exclude=['ez_setup', 'examples', 'tests']),
@@ -42,31 +42,35 @@ setup(
     # scripts and dependencies
     install_requires=[
         'setuptools',
+        'python-dateutil',
         'PasteScript',
-        'beaker',
-        'routes',
-        'pymongo',
-        'mongokit',
-        'webob<=1.2a2',
         'wtforms',
         'py-bcrypt',
-        'nose',
-        'werkzeug',
-        'celery',
+        'pytest>=2.3.1',
+        'pytest-xdist',
+        'werkzeug>=0.7',
+        'celery>=3.0',
+        'kombu',
         'jinja2',
         'sphinx',
-        'PIL',
-        'Babel',
-        'translitcodec',
+        'Babel<1.0',
         'argparse',
-        'webtest',
+        'webtest<2',
         'ConfigObj',
         'Markdown',
-        'sqlalchemy',
+        'sqlalchemy>=0.8.0',
         'sqlalchemy-migrate',
+        'mock',
+        'itsdangerous',
+        'pytz',
+        'six',
+        'oauthlib==0.5.0',
+        ## This is optional!
+        # 'translitcodec',
         ## For now we're expecting that users will install this from
         ## their package managers.
         # 'lxml',
+        # 'PIL',
         ],
     # requires=['gst'],
     test_suite='nose.collector',
@@ -96,9 +100,25 @@ setup(
     classifiers=[
         "Development Status :: 3 - Alpha",
         "Environment :: Web Environment",
-        "License :: OSI Approved :: GNU Affero General Public License",
+        "License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)",
         "Operating System :: OS Independent",
         "Programming Language :: Python",
+        'Programming Language :: Python :: 2.6',
+        'Programming Language :: Python :: 2.7',
         "Topic :: Internet :: WWW/HTTP :: Dynamic Content"
         ],
     )
+except TypeError, e:
+    # Check if the problem is caused by the sqlalchemy/setuptools conflict
+    msg_as_str = str(e)
+    if not (msg_as_str == 'dist must be a Distribution instance'):
+        raise
+
+    # If so, tell the user it is OK to just run the script again.
+    print "\n\n---------- NOTE ----------"
+    print "The setup.py command you ran failed."
+    print ""
+    print ("It is a known possible failure. Just run it again. It works the "
+           "second time.")
+    import sys
+    sys.exit(1)