From 0341218fc19e0666406443b8edf512998e9a31e6 Mon Sep 17 00:00:00 2001 From: Markus Birth Date: Thu, 12 Dec 2019 23:37:10 +0100 Subject: [PATCH] Improved urlencoded HTML handling. --- grmn/updateserver.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/grmn/updateserver.py b/grmn/updateserver.py index 0ef541a..2752b27 100644 --- a/grmn/updateserver.py +++ b/grmn/updateserver.py @@ -58,6 +58,14 @@ class UpdateInfo: rc.append(node.data) return ''.join(rc) + def urlencodedhtml_to_text(self, urltext): + html = unquote(urltext).replace("+", " ") + txt = html.replace("
", "\n") + txt = txt.replace("", "").replace("", "") + #txt = txt.replace("", u"\u001b[1;37m").replace("", u"\u001b[0m") + txt = txt.replace("
  • ", "\n * ").replace("
  • ", "") + return txt + def fill_from_response_dom(self, dom): self.source = "WebUpdater" self.sku = self.dom_get_text(dom.getElementsByTagName("RequestedPartNumber")) @@ -67,8 +75,8 @@ class UpdateInfo: if len(version_minor) > 0: self.fw_version = "{}.{:0>2s}".format(version_major, version_minor) self.license_url = self.dom_get_text(dom.getElementsByTagName("LicenseLocation")) - self.changelog = unquote(self.dom_get_text(dom.getElementsByTagName("ChangeDescription"))).replace("+", " ") - self.notes = unquote(self.dom_get_text(dom.getElementsByTagName("Notes"))).replace("+", " ") + self.changelog = self.urlencodedhtml_to_text(self.dom_get_text(dom.getElementsByTagName("ChangeDescription"))) + self.notes = self.urlencodedhtml_to_text(self.dom_get_text(dom.getElementsByTagName("Notes"))) self.language_code = self.dom_get_text(dom.getElementsByTagName("RequestedRegionId")) self.build_type = self.dom_get_text(dom.getElementsByTagName("BuildType")) self.additional_info_url = self.dom_get_text(dom.getElementsByTagName("AdditionalInfo"))