19 lines
485 B
Python
19 lines
485 B
Python
|
import functools
|
||
|
|
||
|
class ServerError(Exception):
|
||
|
def __init__(self, message, relay):
|
||
|
self.message = message
|
||
|
self.relay = relay
|
||
|
def __str__(self):
|
||
|
return self.message
|
||
|
|
||
|
def handle_server_error(func):
|
||
|
@functools.wraps(func)
|
||
|
def _wrap(*args, **kwargs):
|
||
|
try:
|
||
|
return func(*args, **kwargs)
|
||
|
except ServerError as e:
|
||
|
print("Server error (from %s):\n%s" % (e.relay, e.message))
|
||
|
return 1
|
||
|
return _wrap
|