diff options
Diffstat (limited to 'main.py')
-rw-r--r-- | main.py | 27 |
1 files changed, 24 insertions, 3 deletions
@@ -5,7 +5,9 @@ from cables import make_cable_labels from gondul import fetch_gondul_switches from switches import make_switch_labels -parser = argparse.ArgumentParser("Label generator script 2000") +parser = argparse.ArgumentParser( + "Label generator script 2000", + formatter_class=argparse.ArgumentDefaultsHelpFormatter) parser.add_argument("labler", type=str, help="The label function to run. Either [c]ables or [s]witches.") parser.add_argument("--gondul-user", type=str, @@ -18,6 +20,20 @@ parser.add_argument("--gondul-switches", type=str, help="Gondul switches endpoint. Overrides env GONDUL_SWITCHES_ENDPOINT") parser.add_argument("--match-switches", type=str, default="^e(.*)", help="Regex for matching switches") +parser.add_argument("--outfile", "-o", type=str, default="cable_labels.csv", + help="Output (base) file name. Might be appended with numbers for cables.") + +cables_args = parser.add_argument_group("cables") +cables_args.add_argument("--ap", type=str, action="append", + help="Name of a switch where an AP should be connected") +cables_args.add_argument("--aps-file", type=str, + help="Path to a newline-separated file with switches where an AP should be connected") +cables_args.add_argument("--copies", "-c", type=int, default=2, + help="Number of copies per label") +cables_args.add_argument("--uplinks", "-u", type=int, default=3, + help="Number of uplinks per switch") +cables_args.add_argument("--split", "-s", type=int, default=100, + help="Split into CSV files of this size") if __name__ == "__main__": args = parser.parse_args() @@ -31,9 +47,14 @@ if __name__ == "__main__": ) if args.labler[0] == "c": - make_cable_labels(switches) + make_cable_labels(switches, + aps=args.ap, + ap_file=args.aps_file, + copies=args.copies, + outfile=args.outfile, + split_per_num=args.split) elif args.labler[0] == "s": - make_switch_labels(switches) + make_switch_labels(switches, outfile=args.outfile) else: parser.print_help() sys.exit("Invalid labler operation.") |