| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
 | import argparse
import sys
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.add_argument("labler", type=str,
                    help="The label function to run. Either [c]ables or [s]witches.")
parser.add_argument("--gondul-user", type=str,
                    help="Gondul username. Overrides env GONDUL_USERNAME")
parser.add_argument("--gondul-pass", type=str,
                    help="Gondul password. Overrides env GONDUL_PASSWORD")
parser.add_argument("--gondul-api", type=str,
                    help="Gondul API base. Overrides env GONDUL_API")
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")
if __name__ == "__main__":
    args = parser.parse_args()
    switches = fetch_gondul_switches(
        api=args.gondul_api,
        endpoint=args.gondul_switches,
        username=args.gondul_user,
        password=args.gondul_pass,
        match=args.match_switches,
    )
    if args.labler[0] == "c":
        make_cable_labels(switches)
    elif args.labler[0] == "s":
        make_switch_labels(switches)
    else:
        parser.print_help()
        sys.exit("Invalid labler operation.")
 |