changeset 2563:9382e88eae22 beta

removed import rhodecode from setup.py
author Marcin Kuzminski <marcin@python-works.com>
date Fri, 06 Jul 2012 18:28:13 +0200
parents 78f96d7bb23b
children 9a99b574bb48
files rhodecode/__init__.py setup.py
diffstat 2 files changed, 69 insertions(+), 42 deletions(-) [+]
line wrap: on
line diff
--- a/rhodecode/__init__.py	Fri Jul 06 18:12:14 2012 +0200
+++ b/rhodecode/__init__.py	Fri Jul 06 18:28:13 2012 +0200
@@ -42,6 +42,8 @@
 __platform__ = platform.system()
 __license__ = 'GPLv3'
 __py_version__ = sys.version_info
+__author__ = 'Marcin Kuzminski'
+__url__ = 'http://rhodecode.org'
 
 PLATFORM_WIN = ('Windows')
 PLATFORM_OTHERS = ('Linux', 'Darwin', 'FreeBSD', 'OpenBSD', 'SunOS')
@@ -49,39 +51,6 @@
 is_windows = __platform__ in PLATFORM_WIN
 is_unix = __platform__ in PLATFORM_OTHERS
 
-requirements = [
-    "Pylons==1.0.0",
-    "Beaker==1.6.3",
-    "WebHelpers==1.3",
-    "formencode==1.2.4",
-    "SQLAlchemy==0.7.8",
-    "Mako==0.7.0",
-    "pygments>=1.4",
-    "whoosh>=2.4.0,<2.5",
-    "celery>=2.2.5,<2.3",
-    "babel",
-    "python-dateutil>=1.5.0,<2.0.0",
-    "dulwich>=0.8.5,<0.9.0",
-    "webob==1.0.8",
-    "markdown==2.1.1",
-    "docutils==0.8.1",
-    "simplejson==2.5.2",
-]
-
-if __py_version__ < (2, 6):
-    requirements.append("pysqlite")
-
-if is_windows:
-    requirements.append("mercurial>=2.2.2,<2.3")
-else:
-    requirements.append("py-bcrypt")
-    requirements.append("mercurial>=2.2.2,<2.3")
-
-
-def get_version():
-    """Returns shorter version (digit parts only) as string."""
-
-    return '.'.join((str(each) for each in VERSION[:3]))
 
 BACKENDS = {
     'hg': 'Mercurial repository',
--- a/setup.py	Fri Jul 06 18:12:14 2012 +0200
+++ b/setup.py	Fri Jul 06 18:28:13 2012 +0200
@@ -1,11 +1,69 @@
+import os
 import sys
-from rhodecode import get_version
-from rhodecode import __license__
-from rhodecode import __py_version__
-from rhodecode import requirements
+import platform
+
+if sys.version_info < (2, 5):
+    raise Exception('RhodeCode requires python 2.5 or later')
+
+
+here = os.path.abspath(os.path.dirname(__file__))
+
+
+def _get_meta_var(name, data, callback_handler=None):
+    import re
+    matches = re.compile(r'(?:%s)\s*=\s*(.*)' % name).search(data)
+    if matches:
+        if not callable(callback_handler):
+            callback_handler = lambda v: v
+
+        return callback_handler(eval(matches.groups()[0]))
+
+_meta = open(os.path.join(here, 'rhodecode', '__init__.py'), 'rb')
+_metadata = _meta.read()
+_meta.close()
+
+callback = lambda V: ('.'.join(map(str, V[:3])) + '.'.join(V[3:]))
+__version__ = _get_meta_var('VERSION', _metadata, callback)
+__license__ = _get_meta_var('__license__', _metadata)
+__author__ = _get_meta_var('__author__', _metadata)
+__url__ = _get_meta_var('__url__', _metadata)
+# defines current platform
+__platform__ = platform.system()
+
+is_windows = __platform__ in _get_meta_var('PLATFORM_WIN', _metadata)
 
-if __py_version__ < (2, 5):
-    raise Exception('RhodeCode requires python 2.5 or later')
+requirements = [
+    "Pylons==1.0.0",
+    "Beaker==1.6.3",
+    "WebHelpers==1.3",
+    "formencode==1.2.4",
+    "SQLAlchemy==0.7.8",
+    "Mako==0.7.0",
+    "pygments>=1.4",
+    "whoosh>=2.4.0,<2.5",
+    "celery>=2.2.5,<2.3",
+    "babel",
+    "python-dateutil>=1.5.0,<2.0.0",
+    "dulwich>=0.8.5,<0.9.0",
+    "webob==1.0.8",
+    "markdown==2.1.1",
+    "docutils==0.8.1",
+    "simplejson==2.5.2",
+    "mock"
+]
+
+if sys.version_info < (2, 6):
+    requirements.append("pysqlite")
+
+if sys.version_info <= (2, 6):
+    requirements.append("unittest2")
+
+if is_windows:
+    requirements.append("mercurial>=2.2.3,<2.3")
+else:
+    requirements.append("py-bcrypt")
+    requirements.append("mercurial>=2.2.3,<2.3")
+
 
 dependency_links = [
 ]
@@ -62,15 +120,15 @@
 
 setup(
     name='RhodeCode',
-    version=get_version(),
+    version=__version__,
     description=description,
     long_description=long_description,
     keywords=keywords,
     license=__license__,
-    author='Marcin Kuzminski',
+    author=__author__,
     author_email='marcin@python-works.com',
     dependency_links=dependency_links,
-    url='http://rhodecode.org',
+    url=__url__,
     install_requires=requirements,
     classifiers=classifiers,
     setup_requires=["PasteScript>=1.6.3"],