Commit 94a66476f87bc469f950b0fdfbc5863107f57737

Authored by hitier
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
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)