update cherrypy to v18.8.0

This commit is contained in:
rembo10
2023-04-20 14:59:25 +05:30
parent 2e4299efa7
commit 4d14b028ff
10 changed files with 55 additions and 36 deletions
+6 -7
View File
@@ -101,13 +101,12 @@ def get_ha1_file_htdigest(filename):
"""
def get_ha1(realm, username):
result = None
f = open(filename, 'r')
for line in f:
u, r, ha1 = line.rstrip().split(':')
if u == username and r == realm:
result = ha1
break
f.close()
with open(filename, 'r') as f:
for line in f:
u, r, ha1 = line.rstrip().split(':')
if u == username and r == realm:
result = ha1
break
return result
return get_ha1
+3 -2
View File
@@ -334,9 +334,10 @@ class CoverStats(object):
yield '</body></html>'
def annotated_file(self, filename, statements, excluded, missing):
source = open(filename, 'r')
with open(filename, 'r') as source:
lines = source.readlines()
buffer = []
for lineno, line in enumerate(source.readlines()):
for lineno, line in enumerate(lines):
lineno += 1
line = line.strip('\n\r')
empty_the_buffer = True
+30
View File
@@ -516,3 +516,33 @@ class Host(object):
def __repr__(self):
return 'httputil.Host(%r, %r, %r)' % (self.ip, self.port, self.name)
class SanitizedHost(str):
r"""
Wraps a raw host header received from the network in
a sanitized version that elides dangerous characters.
>>> SanitizedHost('foo\nbar')
'foobar'
>>> SanitizedHost('foo\nbar').raw
'foo\nbar'
A SanitizedInstance is only returned if sanitization was performed.
>>> isinstance(SanitizedHost('foobar'), SanitizedHost)
False
"""
dangerous = re.compile(r'[\n\r]')
def __new__(cls, raw):
sanitized = cls._sanitize(raw)
if sanitized == raw:
return raw
instance = super().__new__(cls, sanitized)
instance.raw = raw
return instance
@classmethod
def _sanitize(cls, raw):
return cls.dangerous.sub('', raw)
+1 -4
View File
@@ -163,11 +163,8 @@ class Parser(configparser.ConfigParser):
# fp = open(filename)
# except IOError:
# continue
fp = open(filename)
try:
with open(filename) as fp:
self._read(fp, filename)
finally:
fp.close()
def as_dict(self, raw=False, vars=None):
"""Convert an INI file to a dictionary"""
+2 -8
View File
@@ -516,11 +516,8 @@ class FileSession(Session):
if path is None:
path = self._get_file_path()
try:
f = open(path, 'rb')
try:
with open(path, 'rb') as f:
return pickle.load(f)
finally:
f.close()
except (IOError, EOFError):
e = sys.exc_info()[1]
if self.debug:
@@ -531,11 +528,8 @@ class FileSession(Session):
def _save(self, expiration_time):
assert self.locked, ('The session was saved without being locked. '
"Check your tools' priority levels.")
f = open(self._get_file_path(), 'wb')
try:
with open(self._get_file_path(), 'wb') as f:
pickle.dump((self._data, expiration_time), f, self.pickle_protocol)
finally:
f.close()
def _delete(self):
assert self.locked, ('The session deletion without being locked. '