update reconcilevlans.py

This commit is contained in:
John Poland 2025-08-07 16:28:38 -04:00
parent 6b2f58837e
commit 0462df40a0

View File

@ -1,20 +1,58 @@
import os 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={} vlandict={}
vlannamedict={}
for fn in [ '../configs/ct/ct-noc-a8325-a.cfg' ]: allfilenames=[]
print(os.path.basename(fn))
with open(fn) as infile: for fn in fnlist:
with fn.open() as infile:
allfilenames.append(fn.name.split('.')[0])
for line in infile: for line in infile:
if line.startswith("vlan"): if line.startswith("vlan "):
print(line) #print(line)
vlan=line.strip() vlan=int(line.strip().split()[1])
try: try:
vlandict[vlan].append(fn) vlandict[vlan].append(os.path.basename(fn).split('.')[0])
except KeyError: except KeyError:
vlandict[vlan]=[] 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)