diff --git a/sa/profiles/Alcatel/TIMOS/get_lldp_neighbors.py b/sa/profiles/Alcatel/TIMOS/get_lldp_neighbors.py index 98dad3ceb2cabe32d63dbba08895fd61c9729368..1e6dee242a1244cfae5ec325272d9b4fac764d58 100644 --- a/sa/profiles/Alcatel/TIMOS/get_lldp_neighbors.py +++ b/sa/profiles/Alcatel/TIMOS/get_lldp_neighbors.py @@ -8,6 +8,7 @@ # Python modules import re +import codecs # NOC modules from noc.core.script.base import BaseScript @@ -70,14 +71,14 @@ class Script(BaseScript): if port_type == "5" and "\n " in port: remote_port = port.replace("\n ", "") remote_port = remote_port.replace(":", "").replace("\n", "") - remote_port = remote_port.decode("hex") + remote_port = codecs.decode(remote_port, "hex") elif port_type == "5" and "\n" in port: remote_port = port.replace("\n", "") remote_port = remote_port.replace(":", "").replace("\n", "") - remote_port = remote_port.decode("hex") + remote_port = codecs.decode(remote_port, "hex") elif port_type == "5" and "\n " not in port: remote_port = remote_port.replace(":", "").replace("\n", "") - remote_port = remote_port.decode("hex") + remote_port = codecs.decode(remote_port, "hex") elif port_type == "7": return port.replace("\n", "") return remote_port diff --git a/sa/profiles/DCN/DCWL/get_interface_status_ex.py b/sa/profiles/DCN/DCWL/get_interface_status_ex.py index 705fccedcd18b2d975c6bb54022dbd97f2dfa2cd..0a8f007cf2321388039cad34bad57fdeff8b8c39 100644 --- a/sa/profiles/DCN/DCWL/get_interface_status_ex.py +++ b/sa/profiles/DCN/DCWL/get_interface_status_ex.py @@ -8,6 +8,7 @@ # Third-party modules import six +import codecs # NOC modules from noc.core.script.base import BaseScript @@ -76,7 +77,7 @@ class Script(BaseScript): ssid = value["ssid"].replace(" ", "").replace("Managed", "") if ssid.startswith("2a2d"): # 2a2d - hex string - ssid = ssid.decode("hex") + ssid = codecs.decode(ssid, "hex") bss = self.get_bss_status(value["bss"]) if not bss: continue diff --git a/sa/profiles/DCN/DCWL/get_interfaces.py b/sa/profiles/DCN/DCWL/get_interfaces.py index 12aec72317cabfc74c72d1c4816934dbffe90f36..2ec6776dff1eb4c0968207b4bf73c99d6136487f 100644 --- a/sa/profiles/DCN/DCWL/get_interfaces.py +++ b/sa/profiles/DCN/DCWL/get_interfaces.py @@ -8,6 +8,7 @@ # Third-party modules import six +import codecs # NOC modules from noc.core.script.base import BaseScript @@ -110,7 +111,7 @@ class Script(BaseScript): ssid = value["ssid"].replace(" ", "").replace("Managed", "") if ssid.startswith("2a2d"): # 2a2d - hex string - ssid = ssid.decode("hex") + ssid = codecs.decode(ssid, "hex") r = self.get_bss_detail(value["bss"]) bss_ifname = "%s.%s" % (ifname, ssid) if r: diff --git a/sa/profiles/DCN/DCWL/get_metrics.py b/sa/profiles/DCN/DCWL/get_metrics.py index 57ad89f7d1b4316e206c1114b46482498ab43c66..b2751eaebf64cd50196418ed9b40ba524c44763e 100644 --- a/sa/profiles/DCN/DCWL/get_metrics.py +++ b/sa/profiles/DCN/DCWL/get_metrics.py @@ -10,6 +10,7 @@ from __future__ import division import six from collections import defaultdict +import codecs # NOC modules from noc.sa.profiles.Generic.get_metrics import Script as GetMetricsScript, metrics @@ -125,7 +126,7 @@ class Script(GetMetricsScript): ssid = data["ssid"].strip().replace(" ", "").replace("Managed", "") if ssid.startswith("2a2d"): # 2a2d - hex string - ssid = ssid.decode("hex") + ssid = codecs.decode(ssid, "hex") iface = "%s.%s" % (data["name"], ssid) else: iface = data["name"] diff --git a/sa/profiles/Eltex/WOP/get_interface_status_ex.py b/sa/profiles/Eltex/WOP/get_interface_status_ex.py index da8aa9f47e668a6e9c56288b38e04815ee6692a9..f6130bd0c238f7bf2cf0fd6bae75ab4d374c5c76 100644 --- a/sa/profiles/Eltex/WOP/get_interface_status_ex.py +++ b/sa/profiles/Eltex/WOP/get_interface_status_ex.py @@ -8,6 +8,7 @@ # Third-party modules import six +import codecs # NOC modules from noc.core.script.base import BaseScript @@ -76,7 +77,7 @@ class Script(BaseScript): ssid = value["ssid"].replace(" ", "").replace("Managed", "") if ssid.startswith("2a2d"): # 2a2d - hex string - ssid = ssid.decode("hex") + ssid = codecs.decode(ssid, "hex") bss = self.get_bss_status(value["bss"]) if not bss: continue diff --git a/sa/profiles/Eltex/WOP/get_interfaces.py b/sa/profiles/Eltex/WOP/get_interfaces.py index 697bacacb0054fa94990684a3c45ccfa7f1ea2f0..7fbab86aef1ec62261c830d90cc80216bbf3d4ff 100644 --- a/sa/profiles/Eltex/WOP/get_interfaces.py +++ b/sa/profiles/Eltex/WOP/get_interfaces.py @@ -8,6 +8,7 @@ # Third-party modules import six +import codecs # NOC modules from noc.core.script.base import BaseScript @@ -113,7 +114,7 @@ class Script(BaseScript): ssid = value["ssid"].replace(" ", "").replace("Managed", "") if ssid.startswith("2a2d"): # 2a2d - hex string - ssid = ssid.decode("hex") + ssid = codecs.decode(ssid, "hex") r = self.get_bss_detail(value["bss"]) bss_ifname = "%s.%s" % (ifname, ssid) if r: diff --git a/sa/profiles/Eltex/WOP/get_metrics.py b/sa/profiles/Eltex/WOP/get_metrics.py index f4cd0fb025e7d99229e4113be3ee7f1f5f1a9777..e1b625872a0960b5e9be29f9f55daff40677bf25 100644 --- a/sa/profiles/Eltex/WOP/get_metrics.py +++ b/sa/profiles/Eltex/WOP/get_metrics.py @@ -9,6 +9,7 @@ # Python modules from __future__ import division from collections import defaultdict +import codecs # Third-party modules # import six @@ -132,7 +133,7 @@ class Script(GetMetricsScript): ssid = data["ssid"].strip().replace(" ", "").replace("Managed", "") if ssid.startswith("2a2d"): # 2a2d - hex string - ssid = ssid.decode("hex") + ssid = codecs.decode(ssid, "hex") iface = "%s.%s" % (data["name"], ssid) else: iface = data["name"] diff --git a/sa/profiles/MikroTik/SwOS/get_interfaces.py b/sa/profiles/MikroTik/SwOS/get_interfaces.py index a13c38e7410c3e03e9bbce9c0056c31f7114b79a..7dc3fbe59aa4941e97f44e81db6ffb742a7343a5 100644 --- a/sa/profiles/MikroTik/SwOS/get_interfaces.py +++ b/sa/profiles/MikroTik/SwOS/get_interfaces.py @@ -6,6 +6,9 @@ # See LICENSE for details # --------------------------------------------------------------------- +# Python modules +import codecs + # NOC modules from noc.core.script.base import BaseScript from noc.sa.interfaces.igetinterfaces import IGetInterfaces @@ -57,9 +60,9 @@ class Script(BaseScript): else: ifname = "SFP" if links.get("nm"): - descr = links["nm"][port - 1].decode("hex") + descr = codecs.decode(links["nm"][port - 1], "hex") elif links.get("nm%d" % (port - 1)): - descr = links["nm%d" % (port - 1)].decode("hex") + descr = codecs.decode(links["nm%d" % (port - 1)], "hex") else: descr = None iface = { diff --git a/sa/profiles/MikroTik/SwOS/get_inventory.py b/sa/profiles/MikroTik/SwOS/get_inventory.py index ea58856af43c3955579c2c5f5a88b2582052a8aa..e4c3da4b431b23ef84e11d3afcf77095462f2c59 100644 --- a/sa/profiles/MikroTik/SwOS/get_inventory.py +++ b/sa/profiles/MikroTik/SwOS/get_inventory.py @@ -6,6 +6,9 @@ # See LICENSE for details # --------------------------------------------------------------------- +# Python modules +import codecs + # NOC modules from noc.core.script.base import BaseScript from noc.sa.interfaces.igetinventory import IGetInventory @@ -30,17 +33,17 @@ class Script(BaseScript): if sfps.get("vnd"): sfp_count = len(sfps["vnd"]) for i in range(0, sfp_count): - vendor = sfps["vnd"][i].decode("hex").strip() - part_no = sfps["pnr"][i].decode("hex").strip() - revision = sfps["rev"][i].decode("hex").strip() - serial = sfps["ser"][i].decode("hex").strip() - date = sfps["dat"][i].decode("hex").strip() + vendor = codecs.decode(sfps["vnd"][i], "hex").strip() + part_no = codecs.decode(sfps["pnr"][i], "hex").strip() + revision = codecs.decode(sfps["rev"][i], "hex").strip() + serial = codecs.decode(sfps["ser"][i], "hex").strip() + date = codecs.decode(sfps["dat"][i], "hex").strip() dt = date.split("-") year = "20" + dt[0] parts = [year, dt[1], dt[2]] mfd = "-".join(parts) - descr = sfps["typ"][i].decode("hex").strip() + descr = codecs.decode(sfps["typ"][i], "hex").strip() r += [ { "type": "XCVR", @@ -54,11 +57,11 @@ class Script(BaseScript): } ] elif sfps.get("vndr"): - vendor = sfps["vndr"].decode("hex").strip() - part_no = sfps["ptnr"].decode("hex").strip() - revision = sfps["rev"].decode("hex").strip() - serial = sfps["ser"].decode("hex").strip() - date = sfps["date"].decode("hex").strip() + vendor = codecs.decode(sfps["vndr"], "hex").strip() + part_no = codecs.decode(sfps["ptnr"], "hex").strip() + revision = codecs.decode(sfps["rev"], "hex").strip() + serial = codecs.decode(sfps["ser"], "hex").strip() + date = codecs.decode(sfps["date"], "hex").strip() dt = date.split("-") year = "20" + dt[0] parts = [year, dt[1], dt[2]] diff --git a/sa/profiles/MikroTik/SwOS/get_version.py b/sa/profiles/MikroTik/SwOS/get_version.py index 300adf50b37c7d4d0955939c771503e135b90238..f6332724c187d7f3c3e159d60fbda9b864e4cad5 100644 --- a/sa/profiles/MikroTik/SwOS/get_version.py +++ b/sa/profiles/MikroTik/SwOS/get_version.py @@ -6,6 +6,9 @@ # See LICENSE for details # --------------------------------------------------------------------- +# Python modules +import codecs + # NOC modules from noc.core.script.base import BaseScript from noc.sa.interfaces.igetversion import IGetVersion @@ -21,8 +24,8 @@ class Script(BaseScript): sys_info = self.profile.parseBrokenJson(self.http.get("/sys.b", cached=True, eof_mark="}")) r = { "vendor": "MikroTik", - "platform": sys_info["brd"].decode("hex"), - "version": sys_info["ver"].decode("hex"), - "attributes": {"Serial Number": sys_info["sid"].decode("hex")}, + "platform": codecs.decode(sys_info["brd"], "hex"), + "version": codecs.decode(sys_info["ver"], "hex"), + "attributes": {"Serial Number": codecs.decode(sys_info["sid"], "hex")}, } return r