First batch of pylint(1) fixes
authorAlexander Vasarab <alexander@wylark.com>
Mon, 29 Jun 2020 19:24:32 +0000 (12:24 -0700)
committerAlexander Vasarab <alexander@wylark.com>
Mon, 29 Jun 2020 19:24:32 +0000 (12:24 -0700)
munter/munter.py
setup.py

index d8683491f2bd899aa08e1baea82697c935ca547a..8efe665a5f9bb93ef9e7c0d644952a0c870703f4 100644 (file)
@@ -16,59 +16,63 @@ from . import __progname__ as progname
 from . import __version__ as version
 
 class InvalidUnitsException(Exception):
-    pass
+    """Exception class for when invalid units are specified"""
 
-rates = {
-    'uphill': { 'rate': 4, 'direction': '↑' },
-    'flat': { 'rate': 6, 'direction': '→' }, # or downhill on foot
-    'downhill': { 'rate': 10, 'direction': '↓' },
-    'bushwhacking': { 'rate': 2, 'direction': '↹' },
+RATES = {
+    'uphill': {'rate': 4, 'direction': '↑'},
+    'flat': {'rate': 6, 'direction': '→'}, # or downhill on foot
+    'downhill': {'rate': 10, 'direction': '↓'},
+    'bushwhacking': {'rate': 2, 'direction': '↹'},
 }
 
-fitnesses = {
+FITNESSES = {
     'slow': 1.2,
     'average': 1,
     'fast': .7,
 }
 
-unit_choices = ['metric', 'imperial']
-travel_mode_choices = rates.keys()
-fitness_choices = fitnesses.keys()
+UNIT_CHOICES = ['metric', 'imperial']
+TRAVEL_MODE_CHOICES = RATES.keys()
+FITNESS_CHOICES = FITNESSES.keys()
 
 def time_calc(distance, elevation, fitness='average', rate='uphill',
-    units='imperial'):
+              units='imperial'):
+    """
+    the heart of the program, the Munter time calculation implementation
+    """
     retval = {}
 
-    if units not in unit_choices:
+    if units not in UNIT_CHOICES:
         raise InvalidUnitsException
 
     unit_count = 0
 
-    if 'imperial' == units:
+    if units == 'imperial':
         # convert to metric
         distance = (distance * 1.609) # mi to km
         elevation = (elevation * .305) # ft to m
 
     unit_count = distance + (elevation / 100.0)
 
-    retval['time'] = (distance + (elevation / 100.0)) / rates[rate]['rate']
-    retval['time'] = retval['time'] * fitnesses[fitness]
+    retval['time'] = (distance + (elevation / 100.0)) / RATES[rate]['rate']
+    retval['time'] = retval['time'] * FITNESSES[fitness]
 
     retval['unit_count'] = unit_count
-    retval['direction'] = rates[rate]['direction']
-    retval['pace'] = rates[rate]['rate']
+    retval['direction'] = RATES[rate]['direction']
+    retval['pace'] = RATES[rate]['rate']
 
     return retval
 
 def print_ugly_estimate(est):
+    """plain-jane string containing result"""
     hours = int(est['time'])
     minutes = int((est['time'] - hours) * 60)
     print("{human_time}".format(
-            human_time="{hours} hours {minutes} minutes".format(
-                hours=hours,
-                minutes=minutes)))
+        human_time="{hours} hours {minutes} minutes".format(
+            hours=hours, minutes=minutes)))
 
 def print_pretty_estimate(est):
+    """more elaborate, console-based 'GUI' displaying result"""
     hours = int(est['time'])
     minutes = int((est['time'] - hours) * 60)
 
@@ -79,84 +83,86 @@ def print_pretty_estimate(est):
     print("\t╎▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒╎╮")
     print("\t╎▒{:^29}▒╎│".format(''))
     print("\t╎▒{pace_readable:^31}▒╎│".format(
-            pace_readable="{units} {direction} @ {pace}".format(
-                units=round(est['unit_count']),
-                direction=est['direction'],
-                pace=est['pace'])))
+        pace_readable="{units} {direction} @ {pace}".format(
+            units=round(est['unit_count']),
+            direction=est['direction'],
+            pace=est['pace'])))
     print("\t╎▒{human_time:^29}▒╎│".format(
-            human_time="{hours} hours {minutes} minutes".format(
-                hours=hours,
-                minutes=minutes)))
+        human_time="{hours} hours {minutes} minutes".format(
+            hours=hours,
+            minutes=minutes)))
     print("\t╎▒{:^29}▒╎│".format(''))
     print("\t╎▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒╎│")
     print("\t╘═══════════════════════════════╛│")
     print("\t └───────────────────────────────┘\n")
 
 def get_parser():
+    """return ArgumentParser for this program"""
     parser = argparse.ArgumentParser(description='Implementation of '
-        'the Munter time calculation')
+                                     'the Munter time calculation')
 
     # No required args anymore, since -g overrides any requirement
     parser.add_argument('--distance',
-        '-d',
-        default=0.0,
-        type=float,
-        required=False,
-        help='Distance (in km, by default)')
+                        '-d',
+                        default=0.0,
+                        type=float,
+                        required=False,
+                        help='Distance (in km, by default)')
 
     parser.add_argument('--elevation',
-        '-e',
-        default=0.0,
-        type=float,
-        required=False,
-        help='Elevation change (in m, by default)')
+                        '-e',
+                        default=0.0,
+                        type=float,
+                        required=False,
+                        help='Elevation change (in m, by default)')
 
     parser.add_argument('--travel-mode',
-        '-t',
-        type=str,
-        default='uphill',
-        choices=travel_mode_choices, required=False,
-        help='Travel mode (uphill, by default)')
+                        '-t',
+                        type=str,
+                        default='uphill',
+                        choices=TRAVEL_MODE_CHOICES, required=False,
+                        help='Travel mode (uphill, by default)')
 
     parser.add_argument('--fitness',
-        '-f',
-        type=str,
-        default='average',
-        choices=fitness_choices, required=False,
-        help='Fitness modifier (average, by default)')
+                        '-f',
+                        type=str,
+                        default='average',
+                        choices=FITNESS_CHOICES, required=False,
+                        help='Fitness modifier (average, by default)')
 
     parser.add_argument('--units',
-        '-u',
-        type=str,
-        default='imperial',
-        required=False,
-        choices=unit_choices,
-        help='Units of input values')
+                        '-u',
+                        type=str,
+                        default='imperial',
+                        required=False,
+                        choices=UNIT_CHOICES,
+                        help='Units of input values')
 
     parser.add_argument('--pretty',
-        '-p',
-        action='store_true',
-        default=False,
-        required=False,
-        help="Make output pretty");
+                        '-p',
+                        action='store_true',
+                        default=False,
+                        required=False,
+                        help='Make output pretty')
 
     parser.add_argument('--gui',
-        '-g',
-        action='store_true',
-        default=False,
-        required=False,
-        help='Launch GUI mode (overrides --pretty)')
+                        '-g',
+                        action='store_true',
+                        default=False,
+                        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')
+                        '-v',
+                        action='store_true',
+                        default=False,
+                        required=False,
+                        help='Print version and exit')
 
     return parser
 
 def main():
+    """main routine: sort through args, decide what to do"""
     parser = get_parser()
     opts = parser.parse_args()
 
@@ -174,7 +180,8 @@ def main():
         return 0
 
     time_estimate = time_calc(distance=distance, elevation=elevation,
-        fitness=fitness, rate=travel_mode, units=units)
+                              fitness=fitness, rate=travel_mode,
+                              units=units)
 
     if gui:
         from . import gui
index 6d960ec0871379548ebed3e266d57cff7b565f03..b6e888b0becff4b08ff62e1d19d2b88efb20392d 100644 (file)
--- a/setup.py
+++ b/setup.py
@@ -4,23 +4,24 @@ import os
 import re
 from setuptools import setup
 
-cur_dir = os.path.dirname(__file__)
-version = re.search(
-    "^__version__\s*=\s*'(.*)'",
-    open(os.path.join(cur_dir, 'munter/__init__.py')).read(),
+CUR_DIR = os.path.dirname(__file__)
+VERSION = re.search(
+    "^__version__\\s*=\\s*'(.*)'",
+    open(os.path.join(CUR_DIR, 'munter/__init__.py')).read(),
     re.M
     ).group(1)
+README = ""
 
-with open(os.path.join(cur_dir, 'README.md'), encoding='utf-8') as readme_file:
-    readme = readme_file.read()
+with open(os.path.join(CUR_DIR, 'README.md'), encoding='utf-8') as readme_file:
+    README = readme_file.read()
 
 setup(
     name='munter.py',
-    version=version,
+    version=VERSION,
     description=(
         'An easy-to-use implementation of the Munter time calculation'
     ),
-    long_description=readme,
+    long_description=README,
     long_description_content_type='text/markdown',
     author='Alexander Vasarab',
     author_email='alexander@wylark.com',