File python38.patch of Package python-scales
From ee69d45f1a7f928f7b241702e9be06007444115e Mon Sep 17 00:00:00 2001
From: Lumir Balhar <lbalhar@redhat.com>
Date: Fri, 30 Aug 2019 10:59:43 +0200
Subject: [PATCH 2/2] Use `html` module in Python 3 and cgi module in Python 2
`cgi.escape()` has been deprecated since Python 3.2 and
removed from Python 3.8.
Fixes: https://github.com/Cue/scales/issues/46
---
src/greplin/scales/formats.py | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/src/greplin/scales/formats.py b/src/greplin/scales/formats.py
index c4ef979..b6a96d4 100644
--- a/src/greplin/scales/formats.py
+++ b/src/greplin/scales/formats.py
@@ -16,7 +16,11 @@
from greplin import scales
-import cgi
+try:
+ import html
+except ImportError:
+ # Python 2.7 has no html module
+ import cgi as html
import six
import json
import operator
@@ -105,7 +109,7 @@ def _htmlRenderDict(pathParts, statDict, output):
output.write('<div class="level">')
for key in keys:
- keyStr = cgi.escape(_utf8str(key))
+ keyStr = html.escape(_utf8str(key))
value = statDict[key]
if hasattr(value, '__call__'):
value = value()
@@ -119,7 +123,7 @@ def _htmlRenderDict(pathParts, statDict, output):
_htmlRenderDict(valuePath, value, output)
else:
output.write('<div><span class="key">%s</span> <span class="%s">%s</span></div>' %
- (keyStr, type(value).__name__, cgi.escape(_utf8str(value)).replace('\n', '<br/>')))
+ (keyStr, type(value).__name__, html.escape(_utf8str(value)).replace('\n', '<br/>')))
if links:
for link in links: