X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FN2VC.git;a=blobdiff_plain;f=n2vc%2Fexceptions.py;h=35962b2ba2fdef4b05626f056a3722a2d3d95718;hp=4e44f95de736afd09345d6c321ea799fa52f58f1;hb=refs%2Fchanges%2F14%2F8214%2F1;hpb=3957ba32d3a898b7ccbb7ec1bd0c7df8fd88f367;ds=sidebyside diff --git a/n2vc/exceptions.py b/n2vc/exceptions.py index 4e44f95..35962b2 100644 --- a/n2vc/exceptions.py +++ b/n2vc/exceptions.py @@ -46,3 +46,84 @@ class InvalidCACertificate(Exception): class NotImplemented(Exception): """The method is not implemented.""" + + +class N2VCException(Exception): + """ + N2VC exception base class + """ + + def __init__(self, message: str = ''): + Exception.__init__(self, message) + self.message = message + + def __str__(self): + return self.message + + def __repr__(self): + return '{}({})'.format(type(self), self.message) + + +class N2VCBadArgumentsException(N2VCException): + """ + Bad argument values exception + """ + + def __init__(self, message: str = '', bad_args: list = None): + N2VCException.__init__(self, message=message) + self.bad_args = bad_args + + def __str__(self): + return '<{}> Bad arguments: {} -> {}'.format(type(self), super().__str__(), self.bad_args) + + +class N2VCConnectionException(N2VCException): + """ + Error connecting to VCA + """ + + def __init__(self, message: str = '', url: str = None): + N2VCException.__init__(self, message=message) + self.url = url + + def __str__(self): + return '<{}> Connection to {} failed: {}'.format(type(self), self.url, super().__str__()) + + +class N2VCTimeoutException(N2VCException): + """ + Timeout + """ + + def __init__(self, message: str = '', timeout: str = ''): + N2VCException.__init__(self, message=message) + self.timeout = timeout + + def __str__(self): + return '<{}> {} timeout: {}'.format(type(self), self.timeout, super().__str__()) + + +class N2VCExecutionException(N2VCException): + """ + Error executing primitive + """ + + def __init__(self, message: str = '', primitive_name: str = ''): + N2VCException.__init__(self, message=message) + self.primitive_name = primitive_name + + def __str__(self): + return '<{}> Error executing primitive {} failed: {}'.format(type(self), self.primitive_name, super().__str__()) + + +class N2VCInvalidCertificate(N2VCException): + """ + Invalid certificate + """ + + def __init__(self, message: str = ''): + N2VCException.__init__(self, message=message) + + def __str__(self): + return '<{}> Invalid certificate: {}'.format(type(self), super().__str__()) +