From 8e2b8311ef9177cf9f03c4bed2aa617e4ffdd24a Mon Sep 17 00:00:00 2001 From: Sven Sager Date: Sun, 15 Jan 2023 18:05:51 +0100 Subject: [PATCH] Move version number from __init__.py to __main__.py This will allow the access from outside the package. setup.py and the Makefile can use this version number. The __init__.py script imports the version number, so the module will have the __version__ variable as usual. --- setup.iss | 2 +- setup.py | 4 +++- src/revpicommander/__init__.py | 3 ++- src/revpicommander/__main__.py | 14 +++++++++++--- src/revpicommander/proginit.py | 3 ++- 5 files changed, 19 insertions(+), 7 deletions(-) diff --git a/setup.iss b/setup.iss index 8cdc4df..9f7e164 100755 --- a/setup.iss +++ b/setup.iss @@ -2,7 +2,7 @@ ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! #define MyAppName "RevPi Commander" -#define MyAppVersion "0.9.10rc3" +#define MyAppVersion "0.9.10rc4" #define MyAppPublisher "Sven Sager" #define MyAppURL "https://revpimodio.org/" #define MyAppICO "data\revpicommander.ico" diff --git a/setup.py b/setup.py index f43e8a3..439387e 100644 --- a/setup.py +++ b/setup.py @@ -6,9 +6,11 @@ __license__ = "GPLv3" from setuptools import find_namespace_packages, setup +from src.revpicommander.__main__ import __version__ + setup( name="revpicommander", - version="0.9.10rc3", + version=__version__, packages=find_namespace_packages("src"), package_dir={'': 'src'}, diff --git a/src/revpicommander/__init__.py b/src/revpicommander/__init__.py index f754aa4..c245189 100644 --- a/src/revpicommander/__init__.py +++ b/src/revpicommander/__init__.py @@ -3,4 +3,5 @@ __author__ = "Sven Sager" __copyright__ = "Copyright (C) 2023 Sven Sager" __license__ = "GPLv3" -__version__ = "0.9.10rc3" + +from .__main__ import __version__ diff --git a/src/revpicommander/__main__.py b/src/revpicommander/__main__.py index a9d7bd0..f7ffdde 100644 --- a/src/revpicommander/__main__.py +++ b/src/revpicommander/__main__.py @@ -3,6 +3,7 @@ __author__ = "Sven Sager" __copyright__ = "Copyright (C) 2023 Sven Sager" __license__ = "GPLv3" +__version__ = "0.9.10rc4" # If we are running from a wheel, add the wheel to sys.path if __package__ == "": @@ -16,7 +17,14 @@ if __package__ == "": if __name__ == "__main__": import sys - from revpicommander.revpicommander import main - # Run the main application of this package - sys.exit(main()) + if len(sys.argv) == 2 and "--version" in sys.argv: + # Catch --version, if this is the only argument (sys.argv[0] is always the script name) + print(__version__) + sys.exit(0) + + else: + from revpicommander.revpicommander import main + + # Run the main application of this package + sys.exit(main()) diff --git a/src/revpicommander/proginit.py b/src/revpicommander/proginit.py index 004ad75..0bef5f7 100644 --- a/src/revpicommander/proginit.py +++ b/src/revpicommander/proginit.py @@ -89,11 +89,12 @@ parser.add_argument( "-f", "--logfile", dest="logfile", help="Save log entries to this file" ) - parser.add_argument( "-v", "--verbose", action="count", dest="verbose", default=0, help="Switch on verbose logging" ) +# The __main__ script will process the version number argument +parser.add_argument("--version", action="store_true", help="Print version number of program and exit") pargs = parser.parse_args() # Check important objects and set to default if they do not exists