ExportPFsenseIPs/main.py
2021-05-07 20:56:13 -04:00

27 lines
1.0 KiB
Python

with open("natconfig.xml") as f:
ruletemp = dict()
ruleList = dict()
rulebit = False; destinationbit = False
## Loop through config
for line in f:
line = line.replace("\t", "")
if "<rule>" in line:
rulebit = True
if "</rule>" in line and len(ruletemp) >= 3:
ruleList[ruletemp['internal-port']] = ruletemp
ruletemp = dict()
rulebit = False
elif "</rule>" in line and len(ruletemp) < 3:
ruletemp = dict()
rulebit = False
if rulebit:
if "<port>" in line:
ruletemp["external-port"] = line.replace("<port>", "").replace("</port>\n", "")
if '<descr>' in line:
ruletemp['name'] = line.replace('<descr><![CDATA[', '').replace(']]></descr>', '').replace("\n", "")
if '<local-port>' in line:
ruletemp['internal-port'] = line.replace('<local-port>', "").replace("</local-port>", "").replace("\n", "")
print(len(ruleList))