Add -v and "one true source"-ify program name
authorAlexander Vasarab <alexander@wylark.com>
Mon, 29 Jun 2020 17:52:50 +0000 (10:52 -0700)
committerAlexander Vasarab <alexander@wylark.com>
Mon, 29 Jun 2020 17:55:49 +0000 (10:55 -0700)
munter/__init__.py
munter/gui.py
munter/munter.py
setup.py

index f83f37de097726774159edc3d3c37f0d4dd3f9e8..ddb0600a947511f4c9743f6f1f3d669058e5d4d7 100755 (executable)
@@ -1,3 +1,4 @@
 """Main package for Munter.py"""
-__version__ = "2.2.0"
+__version__ = '2.2.0'
+__progname__ = 'Munter.py'
 from .munter import time_calc
index 3642264d6ac8245bc1a04557877a265645d49801..9b7e0c8d7d876233ff5fca3dafbcd0ffd6372aa6 100644 (file)
@@ -7,6 +7,8 @@ GUI implementation
 
 import wx
 from . import munter
+from . import __progname__ as progname
+from . import __version__ as version
 
 class MainFrame(wx.Frame):
     """
@@ -16,14 +18,14 @@ class MainFrame(wx.Frame):
     def __init__(self, *args, **kw):
         super(MainFrame, self).__init__(*args, **kw)
 
-        self.SetTitle('Munter.py')
+        self.SetTitle(progname)
         self.SetSize(600, 400)
 
         self.props = self.init_props()
 
         self.pnl = wx.Panel(self)
 
-        st = wx.StaticText(self.pnl, label="Munter.py")
+        st = wx.StaticText(self.pnl, label=progname)
         font = st.GetFont()
         font.PointSize += 10
         font = font.Bold()
index bfc286bff043c997176e0ebef31cf749a4c9cde2..d8683491f2bd899aa08e1baea82697c935ca547a 100644 (file)
@@ -12,6 +12,9 @@ A rudimentary program which implements the Munter time calculation.
 import sys
 import argparse
 
+from . import __progname__ as progname
+from . import __version__ as version
+
 class InvalidUnitsException(Exception):
     pass
 
@@ -144,6 +147,13 @@ def get_parser():
         required=False,
         help='Launch GUI mode (overrides --pretty)')
 
+    parser.add_argument('--version',
+        '-v',
+        action='store_true',
+        default=False,
+        required=False,
+        help='Print version and exit')
+
     return parser
 
 def main():
@@ -157,6 +167,11 @@ def main():
     travel_mode = opts.travel_mode
     pretty = opts.pretty
     gui = opts.gui
+    get_version = opts.version
+
+    if get_version:
+        print("%s - v%s" % (progname, version))
+        return 0
 
     time_estimate = time_calc(distance=distance, elevation=elevation,
         fitness=fitness, rate=travel_mode, units=units)
index ac9ff306dec17742c579338971e0625945f949db..6d960ec0871379548ebed3e266d57cff7b565f03 100644 (file)
--- a/setup.py
+++ b/setup.py
@@ -6,7 +6,7 @@ from setuptools import setup
 
 cur_dir = os.path.dirname(__file__)
 version = re.search(
-    '^__version__\s*=\s*"(.*)"',
+    "^__version__\s*=\s*'(.*)'",
     open(os.path.join(cur_dir, 'munter/__init__.py')).read(),
     re.M
     ).group(1)