diff --git a/core/views/expo.py b/core/views/expo.py index 596052d..1fd01e5 100644 --- a/core/views/expo.py +++ b/core/views/expo.py @@ -129,15 +129,14 @@ def expowebpage(request, expowebpath, path): with open(os.path.normpath(expowebpath / path), "r") as o: html = o.read() except: - raise - # try: - # with open(os.path.normpath(expowebpath / path), "rb") as o: - # html = str(o.read()).replace("<h1>","<h1>BAD NON-UTF-8 characters here - ") - # html = html.replace("\\n","\n") - # html = html.replace("\\t","\t") - # html = html.replace("\\'","\'") - # except: - # return HttpResponse(default_head + '<h3>UTF-8 Parsing Failure:<br>Page could not be parsed using UTF-8:<br>failure detected in expowebpage in views.expo.py</h3> Please edit this <var>:expoweb:</var> page to replace dubious umlauts and £ symbols with correct HTML entities e.g. <em>&pound;;</em>. </body' ) + try: + with open(os.path.normpath(expowebpath / path), "rb") as o: + html = str(o.read()).replace("<h1>","<h1>BAD NON-UTF-8 characters here - ") + html = html.replace("\\n","\n") + html = html.replace("\\t","\t") + html = html.replace("\\'","\'") + except: + return HttpResponse(default_head + '<h3>UTF-8 Parsing Failure:<br>Page could not be parsed using UTF-8:<br>failure detected in expowebpage in views.expo.py</h3> Please edit this <var>:expoweb:</var> page to replace dubious umlauts and £ symbols with correct HTML entities e.g. <em>&pound;;</em>. </body' ) m = re.search(r'(.*)<\s*head([^>]*)>(.*)<\s*/head\s*>(.*)<\s*body([^>]*)>(.*)<\s*/body\s*>(.*)', html, re.DOTALL + re.IGNORECASE) if m: