Fixed a small typo that was causing the mediagoblin.moderation.users_detail
[mediagoblin.git] / setup.py
index 312de2f8a0148cee011ce7bdd20d0585fc45205a..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,27 +42,29 @@ setup(
     # scripts and dependencies
     install_requires=[
         'setuptools',
+        'python-dateutil',
         'PasteScript',
         'wtforms',
         'py-bcrypt',
-        'pytest',
+        'pytest>=2.3.1',
         'pytest-xdist',
         'werkzeug>=0.7',
-        'celery==2.5.3',
-        'kombu==2.1.7',
+        'celery>=3.0',
+        'kombu',
         'jinja2',
         'sphinx',
-        'Babel',
+        'Babel<1.0',
         'argparse',
         'webtest<2',
         'ConfigObj',
         'Markdown',
-        'sqlalchemy>=0.7.0',
+        '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
@@ -106,3 +108,17 @@ setup(
         "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)