From 0462df40a0e7c28880b9eeecc74c2f80b6d5905e Mon Sep 17 00:00:00 2001 From: John Poland Date: Thu, 7 Aug 2025 16:28:38 -0400 Subject: [PATCH] update reconcilevlans.py --- code/reconcilevlans.py | 56 +++++++++++++++++++++++++++++++++++------- 1 file changed, 47 insertions(+), 9 deletions(-) diff --git a/code/reconcilevlans.py b/code/reconcilevlans.py index 22e81f2..a34bf63 100644 --- a/code/reconcilevlans.py +++ b/code/reconcilevlans.py @@ -1,20 +1,58 @@ import os +import pathlib +fnlist=[] +for dir in ['../configs/ct','../configs/sh']: + fnlist+=list(pathlib.Path(dir).glob('*8360*-?-*.cfg')) + fnlist+=list(pathlib.Path(dir).glob('*8325*.cfg')) + +#print(fnlist) + vlandict={} +vlannamedict={} -for fn in [ '../configs/ct/ct-noc-a8325-a.cfg' ]: - print(os.path.basename(fn)) - with open(fn) as infile: +allfilenames=[] + +for fn in fnlist: + with fn.open() as infile: + allfilenames.append(fn.name.split('.')[0]) for line in infile: - if line.startswith("vlan"): - print(line) - vlan=line.strip() + if line.startswith("vlan "): + #print(line) + vlan=int(line.strip().split()[1]) try: - vlandict[vlan].append(fn) + vlandict[vlan].append(os.path.basename(fn).split('.')[0]) except KeyError: vlandict[vlan]=[] - vlandict[vlan].append(fn) + vlandict[vlan].append(os.path.basename(fn).split('.')[0]) + elif line.strip().startswith("name"): + if vlan: + vlannamedict[vlan]=line.strip()[5:] + vlan=None -print(vlandict) +#print(vlandict) +#print (allfilenames) +#sys.exit() +missingdict={} +#sys.exit() +for vlan in vlandict: + for fn in allfilenames: + #print(vlandict[vlan]) + if fn not in vlandict[vlan]: + #print(f"{fn} missing {vlan}") + if fn not in missingdict: + missingdict[fn]=[] + missingdict[fn].append(vlan) + +#print(missingdict) + + +for fn in missingdict: + vlanlist=[] + for vlan in sorted(missingdict[fn]): + vlanlist.append(str(vlan)) + print(f"{fn} missing {','.join(vlanlist)}") + +print(vlannamedict) \ No newline at end of file