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))