diff options
Diffstat (limited to 'version.py')
-rw-r--r-- | version.py | 41 |
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() |