diff options
author | W. Trevor King <wking@drexel.edu> | 2009-09-15 09:32:40 -0400 |
---|---|---|
committer | W. Trevor King <wking@drexel.edu> | 2009-09-15 09:32:40 -0400 |
commit | 0510a9773d213732892dd6a0a8644a252d95f4b5 (patch) | |
tree | abfb7d11f4ac7b0725dd48bdb576cd878a4ff8e6 /libbe/version.py | |
parent | bac6ce2bc8b33850479b0dac7d646cdc988e5060 (diff) | |
download | bugseverywhere-0510a9773d213732892dd6a0a8644a252d95f4b5.tar.gz |
Added libbe.version, wrapping the auto-generated libbe._version.
Two major benefits:
1) Programatic access to the BE version. Previously the
version-string logic was internal to the commandline interface ./be,
which left the other interfaces hanging.
2) Simple to override auto-generated revision id version with any
string you like (by setting libbe.version._VERSION, if that's the way
you want to run things or the way your packaging system requires.
Note that other modules should never read libbe.version._VERSION,
since it may not be defined. Instead they should use the output of
libbe.version.version().
Diffstat (limited to 'libbe/version.py')
-rw-r--r-- | libbe/version.py | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/libbe/version.py b/libbe/version.py new file mode 100644 index 0000000..f8eebbd --- /dev/null +++ b/libbe/version.py @@ -0,0 +1,50 @@ +#!/usr/bin/env python +# Copyright (C) 2009 W. Trevor King <wking@drexel.edu> +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +""" +Store version info for this BE installation. By default, use the +bzr-generated information in _version.py, but allow manual overriding +by setting _VERSION. This allows support of both the "I don't want to +be bothered setting version strings" and the "I want complete control +over the version strings" workflows. +""" + +import libbe._version as _version + +# Manually set a version string (optional, defaults to bzr revision id) +#_VERSION = "1.2.3" + +def version(verbose=False): + """ + Returns the version string for this BE installation. If + verbose==True, the string will include extra lines with more + detail (e.g. bzr branch nickname, etc.). + """ + if "_VERSION" in globals(): + string = _VERSION + else: + string = _version.version_info["revision_id"] + if verbose == True: + string += ("\n" + "revision: %(revno)d\n" + "nick: %(branch_nick)s\n" + "revision id: %(revision_id)s" + % _version.version_info) + return string + +if __name__ == "__main__": + print version(verbose=True) |