Loading __pycache__/common.cpython-312.pyc +36 B (7.53 KiB) File changed.No diff preview for this file type. View original file View changed file common.py +10 −4 Original line number Diff line number Diff line Loading @@ -28,15 +28,21 @@ def get_iface_metrics(m, int_name, metric): xml = env.get_template("filters/qualityofsignal.xml.pyformat").render(context) cfg = m.get(filter=("subtree", xml)).data_xml BuiltIn().log_to_console(cfg) ns = { 'nc': 'urn:ietf:params:xml:ns:netconf:base:1.0', 'if': 'urn:ietf:params:xml:ns:yang:ietf-interfaces', 'mwrl': 'urn:ietf:params:xml:ns:yang:ietf-microwave-radio-link', 'ianaift': 'urn:ietf:params:xml:ns:yang:iana-if-type' } tree = ET.fromstring(cfg) iface = tree.findall(".//ns0:"+"interface", namespaces={'ns0': 'urn:ietf:params:xml:ns:yang:ietf-interfaces','ns1': 'urn:ietf:params:xml:ns:yang:ietf-microwave-radio-link'}) iface = tree.findall(".//if:"+"interface", namespaces=ns) if len(iface)>0: BuiltIn().log_to_console("Found iface") value = iface[0].findall(".//ns1:"+metric, namespaces={'ns0': 'urn:ietf:params:xml:ns:yang:ietf-interfaces','ns1': 'urn:ietf:params:xml:ns:yang:ietf-microwave-radio-link'}) if len(value)==0: value = iface[0].find(".//mwrl:"+metric, namespaces=ns) if value==None: BuiltIn().log_to_console(metric+" not found") return metric+" not found" return value[0].text return value.text else: return "No iface found" Loading tmp.py +13 −8 Original line number Diff line number Diff line Loading @@ -8,12 +8,17 @@ from ncclient import manager def get_iface_metrics(m, metric): cfg = m print(cfg) ns = { 'nc': 'urn:ietf:params:xml:ns:netconf:base:1.0', 'if': 'urn:ietf:params:xml:ns:yang:ietf-interfaces', 'mwrl': 'urn:ietf:params:xml:ns:yang:ietf-microwave-radio-link', 'ianaift': 'urn:ietf:params:xml:ns:yang:iana-if-type' } tree = ET.fromstring(cfg) iface = tree.findall(".//ns0:"+"interface", namespaces={'ns0': 'urn:ietf:params:xml:ns:yang:ietf-interfaces','ns1': 'urn:ietf:params:xml:ns:yang:ietf-microwave-radio-link'}) iface = tree.findall(".//if:"+"interface", namespaces=ns) if len(iface)>0: print("Found iface: ") print(iface[0]) value = iface[0].findall(".//ns1:"+metric, namespaces={'ns0': 'urn:ietf:params:xml:ns:yang:ietf-interfaces','ns1': 'urn:ietf:params:xml:ns:yang:ietf-microwave-radio-link'}) print("Found iface") value = iface[0].findall(".//mwrl:"+metric, namespaces=ns) if len(value)==0: print(metric+" not found") return metric+" not found" Loading @@ -32,10 +37,10 @@ def set_TX_power(int_name, txPower): print(xml) if __name__=="__main__": xml_reply = """<?xml version="1.0" encoding="UTF-8"?><data xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"><interfaces xmlns="urn:ietf:params:xml:ns:yang:ietf-interfaces"><interface><name>CT 1/2/1</name><type xmlns:ianaift="urn:ietf:params:xml:ns:yang:iana-if-type">ianaift:microwaveCarrierTermination</type><actual-transmitted-level xmlns="urn:ietf:params:xml:ns:yang:ietf-microwave-radio-link">11.3</actual-transmitted-level><actual-received-level xmlns="urn:ietf:params:xml:ns:yang:ietf-microwave-radio-link">-31.0</actual-received-level><actual-snir xmlns="urn:ietf:params:xml:ns:yang:ietf-microwave-radio-link">47.7</actual-snir></interface></interfaces></data> xml_reply = """<?xml version="1.0" encoding="UTF-8"?><data xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"><interfaces xmlns="urn:ietf:params:xml:ns:yang:ietf-interfaces"><interface><name>CT 1/2/1</name><type xmlns:ianaift="urn:ietf:params:xml:ns:yang:iana-if-type">ianaift:microwaveCarrierTermination</type><actual-transmitted-level xmlns="urn:ietf:params:xml:ns:yang:ietf-microwave-radio-link">11.4</actual-transmitted-level><actual-received-level xmlns="urn:ietf:params:xml:ns:yang:ietf-microwave-radio-link">-29.4</actual-received-level><actual-snir xmlns="urn:ietf:params:xml:ns:yang:ietf-microwave-radio-link">47.3</actual-snir></interface></interfaces></data> """ #ret = get_iface_metrics(xml_reply, "actual-transmitted-level") #print(ret) set_TX_power("interfaceNAme", 5.0) ret = get_iface_metrics(xml_reply, "actual-transmitted-level") print(ret) #set_TX_power("interfaceNAme", 5.0) #ret = find_in_xml(xml_reply,"actual-transmitted-level", "urn:ietf:params:xml:ns:yang:ietf-microwave-radio-link") #print(ret) No newline at end of file Loading
__pycache__/common.cpython-312.pyc +36 B (7.53 KiB) File changed.No diff preview for this file type. View original file View changed file
common.py +10 −4 Original line number Diff line number Diff line Loading @@ -28,15 +28,21 @@ def get_iface_metrics(m, int_name, metric): xml = env.get_template("filters/qualityofsignal.xml.pyformat").render(context) cfg = m.get(filter=("subtree", xml)).data_xml BuiltIn().log_to_console(cfg) ns = { 'nc': 'urn:ietf:params:xml:ns:netconf:base:1.0', 'if': 'urn:ietf:params:xml:ns:yang:ietf-interfaces', 'mwrl': 'urn:ietf:params:xml:ns:yang:ietf-microwave-radio-link', 'ianaift': 'urn:ietf:params:xml:ns:yang:iana-if-type' } tree = ET.fromstring(cfg) iface = tree.findall(".//ns0:"+"interface", namespaces={'ns0': 'urn:ietf:params:xml:ns:yang:ietf-interfaces','ns1': 'urn:ietf:params:xml:ns:yang:ietf-microwave-radio-link'}) iface = tree.findall(".//if:"+"interface", namespaces=ns) if len(iface)>0: BuiltIn().log_to_console("Found iface") value = iface[0].findall(".//ns1:"+metric, namespaces={'ns0': 'urn:ietf:params:xml:ns:yang:ietf-interfaces','ns1': 'urn:ietf:params:xml:ns:yang:ietf-microwave-radio-link'}) if len(value)==0: value = iface[0].find(".//mwrl:"+metric, namespaces=ns) if value==None: BuiltIn().log_to_console(metric+" not found") return metric+" not found" return value[0].text return value.text else: return "No iface found" Loading
tmp.py +13 −8 Original line number Diff line number Diff line Loading @@ -8,12 +8,17 @@ from ncclient import manager def get_iface_metrics(m, metric): cfg = m print(cfg) ns = { 'nc': 'urn:ietf:params:xml:ns:netconf:base:1.0', 'if': 'urn:ietf:params:xml:ns:yang:ietf-interfaces', 'mwrl': 'urn:ietf:params:xml:ns:yang:ietf-microwave-radio-link', 'ianaift': 'urn:ietf:params:xml:ns:yang:iana-if-type' } tree = ET.fromstring(cfg) iface = tree.findall(".//ns0:"+"interface", namespaces={'ns0': 'urn:ietf:params:xml:ns:yang:ietf-interfaces','ns1': 'urn:ietf:params:xml:ns:yang:ietf-microwave-radio-link'}) iface = tree.findall(".//if:"+"interface", namespaces=ns) if len(iface)>0: print("Found iface: ") print(iface[0]) value = iface[0].findall(".//ns1:"+metric, namespaces={'ns0': 'urn:ietf:params:xml:ns:yang:ietf-interfaces','ns1': 'urn:ietf:params:xml:ns:yang:ietf-microwave-radio-link'}) print("Found iface") value = iface[0].findall(".//mwrl:"+metric, namespaces=ns) if len(value)==0: print(metric+" not found") return metric+" not found" Loading @@ -32,10 +37,10 @@ def set_TX_power(int_name, txPower): print(xml) if __name__=="__main__": xml_reply = """<?xml version="1.0" encoding="UTF-8"?><data xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"><interfaces xmlns="urn:ietf:params:xml:ns:yang:ietf-interfaces"><interface><name>CT 1/2/1</name><type xmlns:ianaift="urn:ietf:params:xml:ns:yang:iana-if-type">ianaift:microwaveCarrierTermination</type><actual-transmitted-level xmlns="urn:ietf:params:xml:ns:yang:ietf-microwave-radio-link">11.3</actual-transmitted-level><actual-received-level xmlns="urn:ietf:params:xml:ns:yang:ietf-microwave-radio-link">-31.0</actual-received-level><actual-snir xmlns="urn:ietf:params:xml:ns:yang:ietf-microwave-radio-link">47.7</actual-snir></interface></interfaces></data> xml_reply = """<?xml version="1.0" encoding="UTF-8"?><data xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"><interfaces xmlns="urn:ietf:params:xml:ns:yang:ietf-interfaces"><interface><name>CT 1/2/1</name><type xmlns:ianaift="urn:ietf:params:xml:ns:yang:iana-if-type">ianaift:microwaveCarrierTermination</type><actual-transmitted-level xmlns="urn:ietf:params:xml:ns:yang:ietf-microwave-radio-link">11.4</actual-transmitted-level><actual-received-level xmlns="urn:ietf:params:xml:ns:yang:ietf-microwave-radio-link">-29.4</actual-received-level><actual-snir xmlns="urn:ietf:params:xml:ns:yang:ietf-microwave-radio-link">47.3</actual-snir></interface></interfaces></data> """ #ret = get_iface_metrics(xml_reply, "actual-transmitted-level") #print(ret) set_TX_power("interfaceNAme", 5.0) ret = get_iface_metrics(xml_reply, "actual-transmitted-level") print(ret) #set_TX_power("interfaceNAme", 5.0) #ret = find_in_xml(xml_reply,"actual-transmitted-level", "urn:ietf:params:xml:ns:yang:ietf-microwave-radio-link") #print(ret) No newline at end of file