From ac412c02a3b416059e4d087fb0091628eb414247 Mon Sep 17 00:00:00 2001 From: Mark E. Fuller Date: Jun 16 2022 08:57:32 +0000 Subject: add version option to CLI --- diff --git a/fedora_business_cards/__init__.py b/fedora_business_cards/__init__.py index e9d368b..8c93f95 100644 --- a/fedora_business_cards/__init__.py +++ b/fedora_business_cards/__init__.py @@ -22,7 +22,8 @@ The Fedora business cards generator will generate business cards for Fedora contributors. It connects to FAS to retrieve user information and lays it out on a SVG, then exports that to a PDF and PNG. -""" -__version__ = '1.beta1' +NOTE: Version string defined here will be picked by setup.py automatically. +""" +__version__ = '2.3.0' __all__ = ('common', 'export', 'frontend', 'generators') diff --git a/fedora_business_cards/frontend/cmdline.py b/fedora_business_cards/frontend/cmdline.py index f5e378c..dc9cdd7 100644 --- a/fedora_business_cards/frontend/cmdline.py +++ b/fedora_business_cards/frontend/cmdline.py @@ -41,6 +41,8 @@ def main(): # General options parser.add_argument("--list-generators", dest="showgen", default=False, action="store_true", help="display list of generators") + parser.add_argument("-v", "--version", dest="version", default=False, action="store_true", help="print version information") + # Size options size_group = parser.add_argument_group("Size options") size_group.add_argument("--height", dest="height", @@ -76,6 +78,13 @@ def main(): help="Export as PDF with CMYK color (if the generator" " supports it)") + # Parse arguments + options = parser.parse_args() + + if options.version: + print(common.__version__) + sys.exit() + # Check for generator-specific option groups subparsers = parser.add_subparsers(metavar='GENERATOR',dest='generator', required='--list-generators' not in sys.argv) for module_name in generators.__all__: @@ -87,9 +96,6 @@ def main(): except ImportError: pass - # Parse arguments - options = parser.parse_args() - if options.showgen: print("Generators: %s" % ', '.join(generators.__all__)) sys.exit() diff --git a/setup.py b/setup.py index 4859dcf..dbeae81 100644 --- a/setup.py +++ b/setup.py @@ -1,8 +1,11 @@ from setuptools import setup, find_packages +import re, io + +__version__ = re.search(r'__version__\s*=\s*[\'"]([^\'"]*)[\'"]',io.open('fedora_business_cards/__init__.py', encoding='utf_8_sig').read()).group(1) setup( name = 'fedora-business-cards', - version = '2.3', + version = __version__, packages = find_packages(), author = 'Brian Exelbierd',