summaryrefslogtreecommitdiffstats
path: root/version.py
diff options
context:
space:
mode:
Diffstat (limited to 'version.py')
-rw-r--r--version.py41
1 files changed, 41 insertions, 0 deletions
diff --git a/version.py b/version.py
new file mode 100644
index 0000000..a4c7ed6
--- /dev/null
+++ b/version.py
@@ -0,0 +1,41 @@
+# -*- coding: utf-8 -*-
+# To use this script, simply import it your setup.py file, and use the
+# results of get_git_version() as your package version:
+#
+# from version import *
+#
+# setup(
+# version=get_git_version(),
+# .
+# .
+# .
+# )
+
+__all__ = ["get_git_version"]
+
+import os
+import re
+from subprocess import Popen, PIPE
+
+OWN_DIR = os.path.dirname(os.path.abspath(os.path.realpath(__file__)))
+
+def call_git_describe(abbrev=4):
+ try:
+ p = Popen(['git', 'describe', '--abbrev=%d' % abbrev, '--tags'],
+ cwd=OWN_DIR, stdout=PIPE, stderr=PIPE)
+ p.stderr.close()
+ line = p.stdout.readlines()[0]
+ return line.strip()
+
+ except:
+ return None
+
+def get_git_version(abbrev=4):
+ version = call_git_describe(abbrev)
+ if version is None:
+ raise ValueError("Cannot find the version number!")
+
+ return re.sub('^debian/', '', version)
+
+if __name__ == "__main__":
+ print get_git_version()