Make scripts more consistent (e.g. use argparse module).
authorphilipp <philipp@7aebc617-e5e2-0310-91dc-80fb5f6d2477>
Tue, 17 Dec 2019 21:20:41 +0000 (21:20 +0000)
committerphilipp <philipp@7aebc617-e5e2-0310-91dc-80fb5f6d2477>
Tue, 17 Dec 2019 21:20:41 +0000 (21:20 +0000)
git-svn-id: http://www.winterrodeln.org/svn/wrpylib/trunk@2876 7aebc617-e5e2-0310-91dc-80fb5f6d2477

scripts/createthumbnails.py
scripts/update_intermaps.py
scripts/updatewrinncache.py
scripts/updatewrmapcache.py
scripts/updatewrregioncache.py
scripts/updatewrreportcache.py
scripts/updatewrsledruncache.py

index 53e7113f1960a98fbd91623656ad8d787c2c8859..a6a95d3edad4a24ab793bd1c4cad704551590256 100755 (executable)
@@ -1,4 +1,5 @@
-"""Creates the image thumbnails or icons for sledruns to be used in the sledmap application.
+#!/usr/bin/python3
+"""Creates the image thumbnails or icons for sledruns to be used in the sledmap or other application.
 Can be used in a python session or at the command line.
 
 usage: createthumbnails.py [-h] {thumbnail,icon} inifile [inifile ...]
@@ -9,7 +10,7 @@ application.
 positional arguments:
   {thumbnail,icon}  thumbnails or icons?
   inifile           inifile.ini (See:
-                    http://www.winterrodeln.org/trac/wiki/ConfigIni)
+                    https://www.winterrodeln.org/trac/wiki/ConfigIni)
 
 optional arguments:
   -h, --help        show this help message and exit
@@ -39,10 +40,9 @@ At the end, the following entries have to be present:
     sledrunicondir=/home/philipp/www/winterrodeln.org/karte/mediawiki_icons
 
 """
-
 import argparse
-import os
 import configparser
+import os
 import hashlib
 import MySQLdb
 from PIL import Image, ImageFilter
@@ -50,18 +50,18 @@ from PIL import Image, ImageFilter
 
 def image_to_icon(im, width, height):
     """The icon will have a size of width times height and contains a centered sub-part of the image."""
-    if im.size[0]/float(width) > im.size[1]/float(height):
+    if im.size[0] / float(width) > im.size[1] / float(height):
         # scale image to height
-        im.thumbnail((int(round(im.size[0]*im.size[1]/height)), height), Image.ANTIALIAS)
+        im.thumbnail((int(round(im.size[0] * im.size[1] / height)), height), Image.ANTIALIAS)
         # crop image (left, upper, right (excl), lower (excl))
-        left = (im.size[0]-width)//2
-        im = im.crop((left, 0, left+width, height))
+        left = (im.size[0] - width) // 2
+        im = im.crop((left, 0, left + width, height))
     else:
         # scale image to width
-        im.thumbnail((width, int(round(im.size[1]*im.size[0]/width))), Image.ANTIALIAS)
+        im.thumbnail((width, int(round(im.size[1] * im.size[0] / width))), Image.ANTIALIAS)
         # crop image (left, upper, right (excl), lower (excl))
-        upper = (im.size[1]-height)//2
-        im = im.crop((0, upper, width, upper+height))
+        upper = (im.size[1] - height) // 2
+        im = im.crop((0, upper, width, upper + height))
     # sharpen
     im = im.filter(ImageFilter.SHARPEN)
     return im
@@ -132,10 +132,11 @@ def update_image_dir_by_inifile(inifile, mode):
     mcon.close()
 
 
-if __name__=='__main__':
-    parser = argparse.ArgumentParser(description='Creates the image thumbnails or icons for sledruns to be used in the sledmap application.')
+if __name__ == '__main__':
+    parser = argparse.ArgumentParser(
+        description='Creates the image thumbnails or icons for sledruns to be used in the sledmap application.')
     parser.add_argument('type', choices=['thumbnail', 'icon'], help='thumbnails or icons?')
-    parser.add_argument('inifile', nargs='+', help='inifile.ini (See: http://www.winterrodeln.org/trac/wiki/ConfigIni)')
+    parser.add_argument('inifile', nargs='+', help='inifile.ini, see: https://www.winterrodeln.org/trac/wiki/ConfigIni')
     args = parser.parse_args()
 
     update_image_dir_by_inifile(args.inifile, args.type)
index 843721e02d3e16918456557d2fa95d1e161b1c36..b4abf0b80cf352e01d52d9b395c062bf00fda494 100755 (executable)
@@ -1,3 +1,4 @@
+#!/usr/bin/python3
 import argparse
 import configparser
 import datetime
index 36e8c9ea06f4836e982270bbe240893b84513be9..d0ffa58186bef0992b2887adde4e432bd635e2b5 100755 (executable)
@@ -1,4 +1,5 @@
-"""Updates the wrsledrun table (by calling wrpylib.wrmwcache.update_wrinncache()).
+#!/usr/bin/python3
+"""Updates the wrinncache table (by calling wrpylib.wrmwcache.update_wrinncache()).
 Can be used in a python session or at the command line.
 
 Command line usage:
@@ -13,8 +14,7 @@ At the end, the following entries have to be present:
     user_name=philipp_www
     user_pass=YYYYYY
 """
-
-import sys
+import argparse
 import configparser
 from sqlalchemy.engine import create_engine
 import wrpylib.wrmwcache
@@ -32,14 +32,13 @@ def update_wrinncache(inifile):
     user = config.get('mysql', 'user_name')
     passwd = config.get('mysql', 'user_pass')
 
-    engine = create_engine('mysql://{user}@{host}:3306/{dbname}?charset=utf8&passwd={passwd}&use_unicode=0'.format(host=host, dbname=dbname, user=user, passwd=passwd))
+    engine = create_engine(f'mysql://{user}@{host}:3306/{dbname}?charset=utf8&passwd={passwd}&use_unicode=0')
     # "use_unicode=0": see: https://sourceforge.net/tracker/?func=detail&aid=2837134&group_id=22307&atid=374932
     wrpylib.wrmwcache.update_wrinncache(engine.connect())
 
 
 if __name__ == '__main__':
-    if len(sys.argv) >= 2:
-        update_wrinncache(sys.argv[1:])
-    else:
-        print('Usage:\n{0} infile1.ini [inifile2.ini ...]'.format(sys.argv[0]))
-        print('See: http://www.winterrodeln.org/trac/wiki/ConfigIni')
+    parser = argparse.ArgumentParser(description='Updates the wrinncache table.')
+    parser.add_argument('inifile', nargs='+', help='inifile.ini, see: https://www.winterrodeln.org/trac/wiki/ConfigIni')
+    args = parser.parse_args()
+    update_wrinncache(args.inifile)
index 7f08f034d85982b6071c66f535c798c8f5a3ec1e..652a940a4f4dca4c66390dac3d6e4b34ec7226ee 100755 (executable)
@@ -1,3 +1,4 @@
+#!/usr/bin/python3
 """Updates the wrmappathcache and wrmappointcache tables (by calling wrpylib.wrmwcache.update_wrmapcache()).
 Can be used in a python session or at the command line.
 
@@ -13,8 +14,7 @@ At the end, the following entries have to be present:
     user_name=philipp_www
     user_pass=YYYYYY
 """
-
-import sys
+import argparse
 import configparser
 from sqlalchemy.engine import create_engine
 import wrpylib.wrmwcache
@@ -32,15 +32,13 @@ def update_wrmapcache(inifile):
     user = config.get('mysql', 'user_name')
     passwd = config.get('mysql', 'user_pass')
 
-    engine = create_engine('mysql://{user}@{host}:3306/{dbname}?charset=utf8&passwd={passwd}&use_unicode=0'.format(host=host, dbname=dbname, user=user, passwd=passwd))
+    engine = create_engine(f'mysql://{user}@{host}:3306/{dbname}?charset=utf8&passwd={passwd}&use_unicode=0')
     # "use_unicode=0": see: https://sourceforge.net/tracker/?func=detail&aid=2837134&group_id=22307&atid=374932
     wrpylib.wrmwcache.update_wrmapcache(engine.connect())
 
 
 if __name__ == '__main__':
-    if len(sys.argv) >= 2:
-        update_wrmapcache(sys.argv[1:])
-    else:
-        print('Usage:\n{0} infile1.ini [inifile2.ini ...]'.format(sys.argv[0]))
-        print('See: http://www.winterrodeln.org/trac/wiki/ConfigIni')
-
+    parser = argparse.ArgumentParser(description='Updates the wrmappathcache and wrmappointcache tables.')
+    parser.add_argument('inifile', nargs='+', help='inifile.ini, see: https://www.winterrodeln.org/trac/wiki/ConfigIni')
+    args = parser.parse_args()
+    update_wrmapcache(args.inifile)
index 6a0f39276ab0d6190b0edce6bfee27d292c40812..5ec983e8e2357347d7660d032e56943d870bda46 100755 (executable)
@@ -1,3 +1,4 @@
+#!/usr/bin/python3
 """
 usage: updatewrregioncache.py [-h] inifile [inifile ...]
 
@@ -6,7 +7,7 @@ wrpylib.wrmwcache.update_wrregioncache()).
 
 positional arguments:
   inifile     inifile.ini (See:
-              http://www.winterrodeln.org/trac/wiki/ConfigIni)
+              https://www.winterrodeln.org/trac/wiki/ConfigIni)
 
 optional arguments:
   -h, --help  show this help message and exit
@@ -29,13 +30,13 @@ def update_wrregioncache(inifiles):
     user = config.get('mysql', 'user_name')
     passwd = config.get('mysql', 'user_pass')
 
-    engine = create_engine('mysql://{user}@{host}:3306/{dbname}?charset=utf8&passwd={passwd}&use_unicode=1'.format(host=host, dbname=dbname, user=user, passwd=passwd))
+    engine = create_engine(f'mysql://{user}@{host}:3306/{dbname}?charset=utf8&passwd={passwd}&use_unicode=1')
     wrpylib.wrmwcache.update_wrregioncache(engine.connect())
 
 
 if __name__=='__main__':
-    parser = argparse.ArgumentParser(description='Updates the wrregioncache table (by calling wrpylib.wrmwcache.update_wrregioncache()).')
-    parser.add_argument('inifile', nargs='+', help='inifile.ini (See: http://www.winterrodeln.org/trac/wiki/ConfigIni)')
+    parser = argparse.ArgumentParser(description='Updates the wrregioncache table.')
+    parser.add_argument('inifile', nargs='+', help='inifile.ini, see: https://www.winterrodeln.org/trac/wiki/ConfigIni')
     args = parser.parse_args()
 
     update_wrregioncache(args.inifile)
index 175e1ef831e7ebeca2a51ef29e9a8c168f3e6dd3..fb005e776ef77f5bc246559252585b5033175944 100755 (executable)
@@ -1,3 +1,4 @@
+#!/usr/bin/python3
 """Updates the wrreportcache table (by calling wrpylib.wrmwcache.update_wrreportcache()).
 Can be used in a python session or at the command line.
 
@@ -13,8 +14,7 @@ At the end, the following entries have to be present:
     user_name=philipp_www
     user_pass=YYYYYY
 """
-
-import sys
+import argparse
 import configparser
 from sqlalchemy.engine import create_engine
 import wrpylib.wrmwcache
@@ -32,14 +32,13 @@ def update_wrreportcache(inifile):
     user = config.get('mysql', 'user_name')
     passwd = config.get('mysql', 'user_pass')
 
-    engine = create_engine('mysql://{user}@{host}:3306/{dbname}?charset=utf8&passwd={passwd}&use_unicode=1'.format(host=host, dbname=dbname, user=user, passwd=passwd))
+    engine = create_engine(f'mysql://{user}@{host}:3306/{dbname}?charset=utf8&passwd={passwd}&use_unicode=1')
     # "use_unicode=1": see: https://sourceforge.net/tracker/?func=detail&aid=2837134&group_id=22307&atid=374932
     wrpylib.wrmwcache.update_wrreportcache(engine.connect())
 
 
 if __name__ == '__main__':
-    if len(sys.argv) >= 2:
-        update_wrreportcache(sys.argv[1:])
-    else:
-        print('Usage:\n{0} infile1.ini [inifile2.ini ...]'.format(sys.argv[0]))
-        print('See: http://www.winterrodeln.org/trac/wiki/ConfigIni')
+    parser = argparse.ArgumentParser(description='Updates the wrreportcache table.')
+    parser.add_argument('inifile', nargs='+', help='inifile.ini, see: https://www.winterrodeln.org/trac/wiki/ConfigIni')
+    args = parser.parse_args()
+    update_wrreportcache(args.inifile)
index 9205f0c6fa2ba0216208d05bd85b87ddefc0b39c..1a9fa65b49cddd984c0e83f77728b7bca13722ba 100755 (executable)
@@ -1,4 +1,5 @@
-"""Updates the wrsledrun table (by calling wrpylib.wrmwcache.update_wrsledruncache()).
+#!/usr/bin/python3
+"""Updates the wrsledruncache table (by calling wrpylib.wrmwcache.update_wrsledruncache()).
 Can be used in a python session or at the command line.
 
 Command line usage:
@@ -13,8 +14,7 @@ At the end, the following entries have to be present:
     user_name=philipp_www
     user_pass=YYYYYY
 """
-
-import sys
+import argparse
 import configparser
 from sqlalchemy.engine import create_engine
 import wrpylib.wrmwcache
@@ -32,14 +32,13 @@ def update_wrsledruncache(inifile):
     user = config.get('mysql', 'user_name')
     passwd = config.get('mysql', 'user_pass')
 
-    engine = create_engine('mysql://{user}@{host}:3306/{dbname}?charset=utf8&passwd={passwd}&use_unicode=0'.format(host=host, dbname=dbname, user=user, passwd=passwd))
+    engine = create_engine(f'mysql://{user}@{host}:3306/{dbname}?charset=utf8&passwd={passwd}&use_unicode=0')
     # "use_unicode=0": see: https://sourceforge.net/tracker/?func=detail&aid=2837134&group_id=22307&atid=374932
     wrpylib.wrmwcache.update_wrsledruncache(engine.connect())
 
 
 if __name__ == '__main__':
-    if len(sys.argv) >= 2:
-        update_wrsledruncache(sys.argv[1:])
-    else:
-        print('Usage:\n{0} infile1.ini [inifile2.ini ...]'.format(sys.argv[0]))
-        print('See: http://www.winterrodeln.org/trac/wiki/ConfigIni')
+    parser = argparse.ArgumentParser(description='Updates the wrsledruncache table.')
+    parser.add_argument('inifile', nargs='+', help='inifile.ini, see: https://www.winterrodeln.org/trac/wiki/ConfigIni')
+    args = parser.parse_args()
+    update_wrsledruncache(args.inifile)