From cafde67c026809ed73cec9eae6deb0f4921cb0d0 Mon Sep 17 00:00:00 2001 From: Philip Sargent Date: Wed, 27 Apr 2022 23:25:37 +0300 Subject: [PATCH] ISO-8859-1 fallback 1 --- core/views/expo.py | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/core/views/expo.py b/core/views/expo.py index 1fd01e5..3c092bb 100644 --- a/core/views/expo.py +++ b/core/views/expo.py @@ -130,13 +130,18 @@ def expowebpage(request, expowebpath, path): html = o.read() except: try: - with open(os.path.normpath(expowebpath / path), "rb") as o: - html = str(o.read()).replace("

","

BAD NON-UTF-8 characters here - ") - html = html.replace("\\n","\n") - html = html.replace("\\t","\t") - html = html.replace("\\'","\'") + with open(os.path.normpath(expowebpath / path), "r", encoding='iso-8859-1') as o: + html = o.read() + html = str(o.read()).replace("

","

ISO-8859-1 characters here - ") except: - return HttpResponse(default_head + '

UTF-8 Parsing Failure:
Page could not be parsed using UTF-8:
failure detected in expowebpage in views.expo.py

Please edit this :expoweb: page to replace dubious umlauts and £ symbols with correct HTML entities e.g. £;. ","

BAD NON-UTF-8 characters here - ") + html = html.replace("\\n","\n") + html = html.replace("\\t","\t") + html = html.replace("\\'","\'") + except: + return HttpResponse(default_head + '

UTF-8 Parsing Failure:
Page could not be parsed using UTF-8:
failure detected in expowebpage in views.expo.py

Please edit this :expoweb: page to replace dubious umlauts and £ symbols with correct HTML entities e.g. &pound;;. ]*)>(.*)<\s*/head\s*>(.*)<\s*body([^>]*)>(.*)<\s*/body\s*>(.*)', html, re.DOTALL + re.IGNORECASE) if m: