Implement bounding box check.
[philipp/winterrodeln/wrpylib.git] / scripts / updatewrregioncache.py
1 #!/usr/bin/python3
2 """
3 usage: updatewrregioncache.py [-h] inifile [inifile ...]
4
5 Updates the wrregioncache table (by calling
6 wrpylib.wrmwcache.update_wrregioncache()).
7
8 positional arguments:
9   inifile     inifile.ini (See:
10               https://www.winterrodeln.org/trac/wiki/ConfigIni)
11
12 optional arguments:
13   -h, --help  show this help message and exit
14 """
15 import argparse
16 import configparser
17 from sqlalchemy.engine import create_engine
18 import wrpylib.wrmwcache
19
20
21 def update_wrregioncache(inifiles):
22     """
23     :param inifiles: list of .ini file names
24     """
25     config = configparser.ConfigParser()
26     config.read(inifiles)
27
28     host = config.get('mysql', 'host')
29     dbname = config.get('mysql', 'dbname')
30     user = config.get('mysql', 'user_name')
31     passwd = config.get('mysql', 'user_pass')
32
33     engine = create_engine(f'mysql://{user}@{host}:3306/{dbname}?passwd={passwd}&charset=utf8mb4')
34     wrpylib.wrmwcache.update_wrregioncache(engine.connect())
35
36
37 if __name__=='__main__':
38     parser = argparse.ArgumentParser(description='Updates the wrregioncache table.')
39     parser.add_argument('inifile', nargs='+', help='inifile.ini, see: https://www.winterrodeln.org/trac/wiki/ConfigIni')
40     args = parser.parse_args()
41
42     update_wrregioncache(args.inifile)