From 5f2f20f3d19ae187ef1d6ae642b7e6746a037ba1 Mon Sep 17 00:00:00 2001 From: Lars Beckers <lars.beckers@rwth-aachen.de> Date: Tue, 22 May 2018 01:27:33 +0200 Subject: [PATCH] generate: fix presets from different cfg file --- generate.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/generate.py b/generate.py index 589529f..3d786f5 100755 --- a/generate.py +++ b/generate.py @@ -16,9 +16,17 @@ except Exception: pass if not 'presets' in config: config['presets'] = {} + choices = [] + choice_default = None +else: + choices = list(config['presets']) + choice_default = list(config['presets'].keys())[0] parser = argparse.ArgumentParser(description='Generates a SSH config file from some DNS zone(s).') -parser.add_argument('--preset', choices=list(config['presets']), default=list(config['presets'].keys())[0], help='select a configuration preset') +if choices: + parser.add_argument('--preset', choices=choices, default=choice_default, help='select a configuration preset') +else: + parser.add_argument('--preset', action='store', default=choice_default, help='select a configuration preset') parser.add_argument('--cfg', action='store', default='./sshgen.cfg', help='config file') args = parser.parse_args() preset = args.preset @@ -26,6 +34,8 @@ preset = args.preset if args.cfg != './sshgen.cfg': with open(args.cfg) as fp: config.read_file(fp) +if preset not in list(config['presets']): + sys.exit('preset not in presets configuration') def get_zones(): all_zones = [] -- GitLab