Splits exceptions in common + client

This commit is contained in:
Sergi Delgado Segura
2020-04-09 17:49:46 +02:00
parent b3841c1da6
commit 80e72f089d
4 changed files with 44 additions and 48 deletions

View File

@@ -1,22 +1,9 @@
class InvalidParameter(ValueError): from common.exceptions import BasicException
"""Raised when a command line parameter is invalid (either missing or wrong)"""
def __init__(self, msg, **kwargs):
self.reason = msg
self.kwargs = kwargs
class InvalidKey(Exception): class TowerConnectionError(BasicException):
"""Raised when there is an error loading the keys"""
def __init__(self, msg, **kwargs):
self.reason = msg
self.kwargs = kwargs
class TowerResponseError(Exception):
"""Raised when the tower responds with an error""" """Raised when the tower responds with an error"""
def __init__(self, msg, **kwargs):
self.reason = msg class TowerResponseError(BasicException):
self.kwargs = kwargs """Raised when the tower responds with an error"""

37
common/exceptions.py Normal file
View File

@@ -0,0 +1,37 @@
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 EncryptionError(BasicException):
"""Raised when there is an error with encryption related functions, covers decryption"""
class SignatureError(BasicException):
"""Raised when there is an with the signature related functions, covers EC recover"""

View File

@@ -1,32 +1,4 @@
class BasicException(Exception): from common.exceptions import BasicException
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): class TowerConnectionError(BasicException):

View File

@@ -5,7 +5,7 @@ from cryptography.hazmat.backends import default_backend
from cryptography.hazmat.primitives import serialization from cryptography.hazmat.primitives import serialization
from cryptography.hazmat.primitives.asymmetric import ec from cryptography.hazmat.primitives.asymmetric import ec
from exceptions import InvalidKey from common.exceptions import InvalidKey
from common.cryptographer import Cryptographer from common.cryptographer import Cryptographer