27 lines
1.0 KiB
Python
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(ruleList) |