From 24dc5b9786c0f17ecbdba60940d56400a5ef0b5f Mon Sep 17 00:00:00 2001 From: PooiaFerdowsi <76428946+PooiaFerdowsi@users.noreply.github.com> Date: Fri, 30 Apr 2021 14:56:38 +0430 Subject: [PATCH 1/4] better performance in python arrays & strings are immutable. this means when we use of + python generate a new string and When use + x + python twice generate a new string and better use of f-strings or format strings --- Lib/cgitb.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Lib/cgitb.py b/Lib/cgitb.py index 4f81271be3ca78..022d40369408a5 100644 --- a/Lib/cgitb.py +++ b/Lib/cgitb.py @@ -45,19 +45,19 @@ def reset(): __UNDEF__ = [] # a special sentinel object def small(text): if text: - return '' + text + '' + return f'{text}' else: return '' def strong(text): if text: - return '' + text + '' + return f'{text}' else: return '' def grey(text): if text: - return '' + text + '' + return f'{text}' else: return '' From 7ad9f70537b76c7a2acabf555805f533b665fd93 Mon Sep 17 00:00:00 2001 From: PooiaFerdowsi Date: Thu, 3 Jun 2021 08:18:43 +0430 Subject: [PATCH 2/4] Update cgitb.py --- Lib/cgitb.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Lib/cgitb.py b/Lib/cgitb.py index 022d40369408a5..0c5b7044f2ed84 100644 --- a/Lib/cgitb.py +++ b/Lib/cgitb.py @@ -163,7 +163,7 @@ def reader(lnum=[lnum]): name = where + strong(name.split('.')[-1]) dump.append('%s = %s' % (name, pydoc.html.repr(value))) else: - dump.append(name + ' undefined') + dump.append(f'{name} undefined') rows.append('%s' % small(grey(', '.join(dump)))) frames.append(''' From 2345549c7b94ea788f11c13959710e820bccba8a Mon Sep 17 00:00:00 2001 From: PooiaFerdowsi Date: Mon, 9 Aug 2021 11:12:19 +0430 Subject: [PATCH 3/4] Update cgitb.py --- Lib/cgitb.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Lib/cgitb.py b/Lib/cgitb.py index 0c5b7044f2ed84..10666670a953a2 100644 --- a/Lib/cgitb.py +++ b/Lib/cgitb.py @@ -91,7 +91,7 @@ def scanvars(reader, frame, locals): where, value = lookup(token, frame, locals) vars.append((token, where, value)) elif token == '.': - prefix += lasttoken + '.' + prefix += f"{lasttoken}." parent = value else: parent, prefix = None, '' @@ -103,6 +103,7 @@ def html(einfo, context=5): etype, evalue, etb = einfo if isinstance(etype, type): etype = etype.__name__ + pyver = f'Python {sys.version.split()[0]}:{sys.executable}' pyver = 'Python ' + sys.version.split()[0] + ': ' + sys.executable date = time.ctime(time.time()) head = '' + pydoc.html.heading( From 15d20f1a0f463ec6ea01a64e1df9fcc819d2a1de Mon Sep 17 00:00:00 2001 From: PooiaFerdowsi Date: Wed, 11 Aug 2021 11:35:09 +0430 Subject: [PATCH 4/4] Update cgitb.py --- Lib/cgitb.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Lib/cgitb.py b/Lib/cgitb.py index 10666670a953a2..98d6ccbb435125 100644 --- a/Lib/cgitb.py +++ b/Lib/cgitb.py @@ -144,8 +144,8 @@ def reader(lnum=[lnum]): for line in lines: num = small(' ' * (5-len(str(i))) + str(i)) + ' ' if i in highlight: - line = '=>%s%s' % (num, pydoc.html.preformat(line)) - rows.append('%s' % line) + line = f'=>{num}{pydoc.html.preformat(line)}' + rows.append(f'{line}') else: line = '  %s%s' % (num, pydoc.html.preformat(line)) rows.append('%s' % grey(line))