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:
openSUSE Build Service is sponsored by