Files
python-teos/watchtower-plugin/exceptions.py
Sergi Delgado Segura ed8ff228d8 First commands with basic structure.
- Moves DBManager to common.
2020-04-20 17:30:15 +02:00

38 lines
1.0 KiB
Python

class BasicException(Exception):
def __init__(self, msg, **kwargs):
self.msg = msg
self.kwargs = kwargs
def __str__(self):
if len(self.kwargs) > 2:
params = "".join("{}={}, ".format(k, v) for k, v in self.kwargs.items())
# Remove the extra 2 characters (space and comma) and add all data to the final message.
message = self.msg + " ({})".format(params[:-2])
else:
message = self.msg
return message
def to_json(self):
response = {"error": self.msg}
response.update(self.kwargs)
return response
class InvalidParameter(BasicException):
"""Raised when a command line parameter is invalid (either missing or wrong)"""
class InvalidKey(BasicException):
"""Raised when there is an error loading the keys"""
class TowerConnectionError(BasicException):
"""Raised when the tower responds with an error"""
class TowerResponseError(BasicException):
"""Raised when the tower responds with an error"""