Skip to content

Commit

Permalink
Python 3 migration: Fixed exceptions.
Browse files Browse the repository at this point in the history
* s/except ExceptionClass, e/except Exception as e/
* s/raise Exception, msg/raise Exception(msg)/
  • Loading branch information
anandology authored and Zashas committed Jun 20, 2016
1 parent a440d6b commit 0e79cdf
Show file tree
Hide file tree
Showing 10 changed files with 43 additions and 44 deletions.
2 changes: 1 addition & 1 deletion web/application.py
Original file line number Diff line number Diff line change
Expand Up @@ -283,7 +283,7 @@ def wsgi(env, start_resp):
result = peep(result)
else:
result = [result]
except web.HTTPError, e:
except web.HTTPError as e:
result = [e.data]

result = web.safestr(iter(result))
Expand Down
8 changes: 4 additions & 4 deletions web/db.py
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ def get_marker(self, paramstyle='pyformat'):
return ':1'
elif paramstyle is None or paramstyle in ['format', 'pyformat']:
return '%s'
raise UnknownParamstyle, paramstyle
raise UnknownParamstyle(paramstyle)

def sqlquery(self):
return SQLQuery([self])
Expand Down Expand Up @@ -580,7 +580,7 @@ def _param_marker(self):
return ':1'
elif style in ['format', 'pyformat']:
return '%s'
raise UnknownParamstyle, style
raise UnknownParamstyle(style)

def _db_execute(self, cur, sql_query):
"""executes an sql query"""
Expand Down Expand Up @@ -829,7 +829,7 @@ def multiple_insert(self, tablename, values, seqname=None, _test=False):

for v in values:
if v.keys() != keys:
raise ValueError, 'Not all rows have the same keys'
raise ValueError('Not all rows have the same keys')

sql_query = SQLQuery('INSERT INTO %s (%s) VALUES ' % (tablename, ', '.join(keys)))

Expand Down Expand Up @@ -1184,7 +1184,7 @@ def database(dburl=None, **params):
if dbn in _databases:
return _databases[dbn](**params)
else:
raise UnknownDB, dbn
raise UnknownDB(dbn)

def register_database(name, clazz):
"""
Expand Down
2 changes: 1 addition & 1 deletion web/debugerror.py
Original file line number Diff line number Diff line change
Expand Up @@ -280,7 +280,7 @@ def _get_lines_from_file(filename, lineno, context_lines):
def prettify(x):
try:
out = pprint.pformat(x)
except Exception, e:
except Exception as e:
out = '[could not display: <' + e.__class__.__name__ + \
': '+str(e)+'>]'
return out
Expand Down
4 changes: 2 additions & 2 deletions web/form.py
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ def __getattr__(self, name):
inputs = self.__dict__.get('inputs') or []
for x in inputs:
if x.name == name: return x
raise AttributeError, name
raise AttributeError(name)

def get(self, i, default=None):
try:
Expand Down Expand Up @@ -137,7 +137,7 @@ def is_hidden(self):
return False

def get_type(self):
raise NotImplementedError
raise NotImplementedError()

def get_default_id(self):
return self.name
Expand Down
6 changes: 3 additions & 3 deletions web/httpserver.py
Original file line number Diff line number Diff line change
Expand Up @@ -74,12 +74,12 @@ def run_wsgi_app(self):
finally:
if hasattr(result, 'close'):
result.close()
except socket.error, socket_err:
except socket.error as socket_err:
# Catch common network errors and suppress them
if (socket_err.args[0] in \
(errno.ECONNABORTED, errno.EPIPE)):
return
except socket.timeout, socket_timeout:
except socket.timeout as socket_timeout:
return
except:
print(traceback.format_exc(), file=web.debug)
Expand Down Expand Up @@ -241,7 +241,7 @@ def __iter__(self):
if etag == client_etag:
self.send_response(304, "Not Modified")
self.start_response(self.status, self.headers)
raise StopIteration
raise StopIteration()
except OSError:
pass # Probably a 404

Expand Down
6 changes: 3 additions & 3 deletions web/net.py
Original file line number Diff line number Diff line change
Expand Up @@ -117,14 +117,14 @@ def validip(ip, defaultaddr="0.0.0.0", defaultport=8080):
elif validipport(ip[0]):
port = int(ip[0])
else:
raise ValueError, ':'.join(ip) + ' is not a valid IP address/port'
raise ValueError(':'.join(ip) + ' is not a valid IP address/port')
elif len(ip) == 2:
addr, port = ip
if not validipaddr(addr) and validipport(port):
raise ValueError, ':'.join(ip) + ' is not a valid IP address/port'
raise ValueError(':'.join(ip) + ' is not a valid IP address/port')
port = int(port)
else:
raise ValueError, ':'.join(ip) + ' is not a valid IP address/port'
raise ValueError(':'.join(ip) + ' is not a valid IP address/port')
return (addr, port)

def validaddr(string_):
Expand Down
14 changes: 7 additions & 7 deletions web/session.py
Original file line number Diff line number Diff line change
Expand Up @@ -187,17 +187,17 @@ class Store:
"""Base class for session stores"""

def __contains__(self, key):
raise NotImplementedError
raise NotImplementedError()

def __getitem__(self, key):
raise NotImplementedError
raise NotImplementedError()

def __setitem__(self, key, value):
raise NotImplementedError
raise NotImplementedError()

def cleanup(self, timeout):
"""removes all the expired sessions"""
raise NotImplementedError
raise NotImplementedError()

def encode(self, session_dict):
"""encodes session dict as a string"""
Expand Down Expand Up @@ -236,7 +236,7 @@ def __init__(self, root):

def _get_path(self, key):
if os.path.sep in key:
raise ValueError, "Bad key: %s" % repr(key)
raise ValueError("Bad key: %s" % repr(key))
return os.path.join(self.root, key)

def __contains__(self, key):
Expand All @@ -249,7 +249,7 @@ def __getitem__(self, key):
pickled = open(path).read()
return self.decode(pickled)
else:
raise KeyError, key
raise KeyError(key)

def __setitem__(self, key, value):
path = self._get_path(key)
Expand Down Expand Up @@ -298,7 +298,7 @@ def __getitem__(self, key):
s = self.db.select(self.table, where="session_id=$key", vars=locals())[0]
self.db.update(self.table, where="session_id=$key", atime=now, vars=locals())
except IndexError:
raise KeyError
raise KeyError(key)
else:
return self.decode(s.data)

Expand Down
18 changes: 9 additions & 9 deletions web/template.py
Original file line number Diff line number Diff line change
Expand Up @@ -466,7 +466,7 @@ def create_block_node(self, keyword, stmt, block, begin_indent):
if keyword in self.statement_nodes:
return self.statement_nodes[keyword](stmt, block, begin_indent)
else:
raise ParseError, 'Unknown statement: %s' % repr(keyword)
raise ParseError('Unknown statement: %s' % repr(keyword))

class PythonTokenizer:
"""Utility wrapper over python tokenizer."""
Expand Down Expand Up @@ -745,7 +745,7 @@ def __init__(self):

def __getattr__(self, name):
if self._ctx is None:
raise AttributeError, name
raise AttributeError(name)
else:
return getattr(self._ctx, name)

Expand Down Expand Up @@ -910,7 +910,7 @@ def get_source_line(filename, lineno):
try:
# compile the code first to report the errors, if any, with the filename
compiled_code = compile(code, filename, 'exec')
except SyntaxError, e:
except SyntaxError as e:
# display template line that caused the error along with the traceback.
try:
e.msg += '\n\nTemplate traceback:\n File %s, line %s\n %s' % \
Expand Down Expand Up @@ -998,7 +998,7 @@ def _load_template(self, name):
elif kind == 'file':
return Template(open(path).read(), filename=path, **self._keywords)
else:
raise AttributeError, "No template named " + name
raise AttributeError("No template named " + name)

def _findfile(self, path_prefix):
p = [f for f in glob.glob(path_prefix + '.*') if not f.endswith('~')] # skip backup files
Expand Down Expand Up @@ -1161,7 +1161,7 @@ def walk(self, ast, filename):
self.visit(ast)

if self.errors:
raise SecurityError, '\n'.join([str(err) for err in self.errors])
raise SecurityError('\n'.join([str(err) for err in self.errors]))

def visit(self, node, *args):
"Recursively validate node and all of its children."
Expand Down Expand Up @@ -1277,17 +1277,17 @@ def __delitem__(self, name):
def __getattr__(self, key):
try:
return self[key]
except KeyError, k:
raise AttributeError, k
except KeyError as k:
raise AttributeError(k)

def __setattr__(self, key, value):
self[key] = value

def __delattr__(self, key):
try:
del self[key]
except KeyError, k:
raise AttributeError, k
except KeyError as k:
raise AttributeError(k)

def __unicode__(self):
self._prepare_body()
Expand Down
22 changes: 11 additions & 11 deletions web/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -73,17 +73,17 @@ class Storage(dict):
def __getattr__(self, key):
try:
return self[key]
except KeyError, k:
raise AttributeError, k
except KeyError as k:
raise AttributeError(k)

def __setattr__(self, key, value):
self[key] = value

def __delattr__(self, key):
try:
del self[key]
except KeyError, k:
raise AttributeError, k
except KeyError as k:
raise AttributeError(k)

def __repr__(self):
return '<Storage ' + dict.__repr__(self) + '>'
Expand Down Expand Up @@ -292,7 +292,7 @@ def _strips(direction, text, remove):
if text.endswith(remove):
return text[:-len(remove)]
else:
raise ValueError, "Direction needs to be r or l."
raise ValueError("Direction needs to be r or l.")
return text

def rstrips(text, remove):
Expand Down Expand Up @@ -420,9 +420,9 @@ def run(self):
c = Dispatch()
c.join(timeout)
if c.isAlive():
raise TimeoutError, 'took too long'
raise TimeoutError('took too long')
if c.error:
raise c.error[0], c.error[1]
raise c.error[1]
return c.result
return _2
return _1
Expand Down Expand Up @@ -694,7 +694,7 @@ def __iter__(self):
def __getitem__(self, i):
#todo: slices
if i < self.c:
raise IndexError, "already passed "+str(i)
raise IndexError("already passed "+str(i))
try:
while i > self.c:
self.i.next()
Expand All @@ -703,7 +703,7 @@ def __getitem__(self, i):
self.c += 1
return self.i.next()
except StopIteration:
raise IndexError, str(i)
raise IndexError(str(i))

def __nonzero__(self):
if hasattr(self, "__len__"):
Expand Down Expand Up @@ -1337,7 +1337,7 @@ def to36(q):
ValueError: must supply a positive integer
"""
if q < 0: raise ValueError, "must supply a positive integer"
if q < 0: raise ValueError("must supply a positive integer")
letters = "0123456789abcdefghijklmnopqrstuvwxyz"
converted = []
while q != 0:
Expand Down Expand Up @@ -1397,7 +1397,7 @@ def sendmail(from_address, to_address, subject, message, headers=None, **kw):
filename = os.path.basename(a)
mail.attach(filename, content, None)
else:
raise ValueError, "Invalid attachment: %s" % repr(a)
raise ValueError("Invalid attachment: %s" % repr(a))

mail.send()

Expand Down
5 changes: 2 additions & 3 deletions web/webapi.py
Original file line number Diff line number Diff line change
Expand Up @@ -289,8 +289,7 @@ def header(hdr, value, unique=False):
hdr, value = safestr(hdr), safestr(value)
# protection against HTTP response splitting attack
if '\n' in hdr or '\r' in hdr or '\n' in value or '\r' in value:
raise ValueError, 'invalid characters in header'

raise ValueError('invalid characters in header')
if unique is True:
for h, v in ctx.headers:
if h.lower() == hdr.lower(): return
Expand Down Expand Up @@ -478,7 +477,7 @@ def cookies(*requireds, **defaults):
return storify(ctx._parsed_cookies, *requireds, **defaults)
except KeyError:
badrequest()
raise StopIteration
raise StopIteration()

def debug(*args):
"""
Expand Down

0 comments on commit 0e79cdf

Please sign in to comment.