Commit 94a66476f87bc469f950b0fdfbc5863107f57737
1 parent
3317581a
Exists in
rhitier-dev
Add dry_run option to hp_cmd
Showing
1 changed file
with
20 additions
and
5 deletions
Show diff stats
web/hp_cmd.py
1 | -from run import generate_csv_file_if_needed, init_console_logger | 1 | +import sys |
2 | + | ||
3 | +from run import generate_csv_file_if_needed, init_console_logger, config | ||
2 | from datetime import datetime | 4 | from datetime import datetime |
3 | import argparse | 5 | import argparse |
4 | 6 | ||
@@ -7,12 +9,13 @@ if __name__ == "__main__": | @@ -7,12 +9,13 @@ if __name__ == "__main__": | ||
7 | description='description') | 9 | description='description') |
8 | 10 | ||
9 | hp_parser.add_argument('-clog', '--console-log', action='store_true') | 11 | hp_parser.add_argument('-clog', '--console-log', action='store_true') |
12 | + hp_parser.add_argument('-s', '--dry-run', action='store_true') | ||
10 | 13 | ||
11 | subparsers = hp_parser.add_subparsers(dest='hpcmd_name') | 14 | subparsers = hp_parser.add_subparsers(dest='hpcmd_name') |
12 | 15 | ||
13 | csvgen_parser = subparsers.add_parser('csv_gen', | 16 | csvgen_parser = subparsers.add_parser('csv_gen', |
14 | help='csv-gen help') | 17 | help='csv-gen help') |
15 | - csvgen_parser.add_argument('-a', '--all') | 18 | + csvgen_parser.add_argument('-a', '--all', action='store_true') |
16 | csvgen_parser.add_argument('-t', '--target') | 19 | csvgen_parser.add_argument('-t', '--target') |
17 | csvgen_parser.add_argument('-i', '--input') | 20 | csvgen_parser.add_argument('-i', '--input') |
18 | csvgen_parser.add_argument('-b', '--begin') | 21 | csvgen_parser.add_argument('-b', '--begin') |
@@ -22,10 +25,22 @@ if __name__ == "__main__": | @@ -22,10 +25,22 @@ if __name__ == "__main__": | ||
22 | 25 | ||
23 | if args.console_log: | 26 | if args.console_log: |
24 | _logger = init_console_logger() | 27 | _logger = init_console_logger() |
25 | - _logger.info("This is info") | ||
26 | 28 | ||
27 | if args.hpcmd_name == 'csv_gen': | 29 | if args.hpcmd_name == 'csv_gen': |
30 | + # todo: build default dates in not -b or -e | ||
28 | start_date = datetime.strptime(args.begin, '%Y%m%d') | 31 | start_date = datetime.strptime(args.begin, '%Y%m%d') |
29 | stop_date = datetime.strptime(args.end, '%Y%m%d') | 32 | stop_date = datetime.strptime(args.end, '%Y%m%d') |
30 | - generate_csv_file_if_needed(args.target, args.input, start_date, stop_date) | ||
31 | - | 33 | + if args.all: |
34 | + # build the {target_slug: [input list]} dictionnary from config.yaml | ||
35 | + targets = {t['slug']: list(t['models'].keys()) for t in config['targets']} | ||
36 | + else: | ||
37 | + # todo: check -i an -t | ||
38 | + targets = {args.target: [args.input]} | ||
39 | + | ||
40 | + for _t, _i_list in targets.items(): | ||
41 | + # print(_t, _i_list) | ||
42 | + for _i in _i_list: | ||
43 | + print(f"generating csv for {_t}/ {_i}") | ||
44 | + if args.dry_run: | ||
45 | + continue | ||
46 | + generate_csv_file_if_needed(_t, _i, start_date, stop_date) |