]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
- finally figured out how to get setuptools version in, available
authorMike Bayer <mike_mp@zzzcomputing.com>
Tue, 19 Jun 2007 17:48:46 +0000 (17:48 +0000)
committerMike Bayer <mike_mp@zzzcomputing.com>
Tue, 19 Jun 2007 17:48:46 +0000 (17:48 +0000)
as sqlalchemy.__version__ [ticket:428]

CHANGES
doc/build/genhtml.py
lib/sqlalchemy/__init__.py

diff --git a/CHANGES b/CHANGES
index b7e3036a2bab1422c61196dbf195c97b1f1ccff6..5f8e7daf6604928d65ed671953d81206a49a3fc2 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,4 +1,7 @@
 0.4.0
+- general
+    - finally figured out how to get setuptools version in, available
+      as sqlalchemy.__version__ [ticket:428]
 - orm
     - major interface pare-down for Query:  all selectXXX methods
       are deprecated.  generative methods are now the standard
index 3b78da7690b243b3a751935ae4353f24d08da28d..263626745de337d78cd03ef12a3140456dea4d54 100644 (file)
@@ -4,6 +4,7 @@ import cPickle as pickle
 
 sys.path = ['../../lib', './lib/'] + sys.path
 
+import sqlalchemy
 import gen_docstrings, read_markdown, toc
 from mako.lookup import TemplateLookup
 from mako import exceptions, runtime
@@ -29,7 +30,7 @@ files = [
 parser = optparse.OptionParser(usage = "usage: %prog [options] [tests...]")
 parser.add_option("--file", action="store", dest="file", help="only generate file <file>")
 parser.add_option("--docstrings", action="store_true", dest="docstrings", help="only generate docstrings")
-parser.add_option("--version", action="store", dest="version", default="0.3.8", help="version string")
+parser.add_option("--version", action="store", dest="version", default=sqlalchemy.__version__, help="version string")
 
 (options, args) = parser.parse_args()
 if options.file:
index 221b77f3e7afbde26a2a7e08c9f6884784f45829..6e95fd7e1d01b428b01a2969fc1b3c6bea93f11f 100644 (file)
@@ -10,3 +10,19 @@ from sqlalchemy.schema import *
 
 from sqlalchemy.engine import create_engine
 
+def __figure_version():
+    try:
+        from pkg_resources import require
+        import os
+        # NOTE: this only works when the package is either installed,
+        # or has an .egg-info directory present (i.e. wont work with raw SVN checkout)
+        info = require('sqlalchemy')[0]
+        if os.path.dirname(os.path.dirname(__file__)) == info.location:
+            return info.version
+        else:
+            return '(not installed)'
+    except:
+        return '(not installed)'
+        
+__version__ = __figure_version()
+