From d8f4d356bb36b082348a2d2c481a7016d5b30fd1 Mon Sep 17 00:00:00 2001 From: Roland Date: Wed, 5 Jan 2022 17:07:54 -0700 Subject: [PATCH] Adding version information. Beta!! --- main.py | 10 +++++++++- wrolpi/version.py | 15 +++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 wrolpi/version.py diff --git a/main.py b/main.py index 2997e92b..089d8b55 100755 --- a/main.py +++ b/main.py @@ -13,6 +13,7 @@ from wrolpi.common import logger, get_config, wrol_mode_enabled, import_modules from wrolpi.dates import set_timezone from wrolpi.downloader import download_manager from wrolpi.vars import PROJECT_DIR +from wrolpi.version import __version__, git_commit logger = logger.getChild('wrolpi-main') @@ -45,6 +46,7 @@ def db_main(args): async def main(loop): parser = argparse.ArgumentParser() parser.add_argument('-v', '--verbose', action='count') + parser.add_argument('--version', action='store_true', default=False) sub_commands = parser.add_subparsers(title='sub-commands', dest='sub_commands') @@ -57,9 +59,15 @@ async def main(loop): db_parser.add_argument('command', help=f'Supported commands: upgrade, downgrade') args = parser.parse_args() - logger.warning(f'Starting with: {sys.argv}') + if args.version: + # Print out the relevant version information, then exit. + print(f'{__version__} (git revision: {git_commit()})') + return 0 + + logger.warning(f'Starting with: {sys.argv}') await set_log_level(args) + logger.debug(f'git revision: {git_commit()}') # Run DB migrations before anything else. if args.sub_commands == 'db': diff --git a/wrolpi/version.py b/wrolpi/version.py new file mode 100644 index 00000000..fde2ebd5 --- /dev/null +++ b/wrolpi/version.py @@ -0,0 +1,15 @@ +__version__ = '0.1-b' + +import subprocess + + +def git_commit(): + try: + cmd = ['git', 'log', '-1', '--format="%H"'] + git_version = subprocess.check_output(cmd) + git_version = git_version.decode().strip().strip('"') + except Exception: + # Could not find git version... + return 'unknown' + + return git_version