157 lines
2.7 KiB
Python
157 lines
2.7 KiB
Python
#!/usr/bin/env python3
|
|
|
|
exception_classes = {}
|
|
|
|
def _collect_exception_class(c):
|
|
"""
|
|
Decorator that collects exception classes for parsing error codes.
|
|
"""
|
|
exception_classes[c.__name__] = c
|
|
return c
|
|
|
|
|
|
class OMResponseException(Exception):
|
|
def __init__(self, response, msg=None):
|
|
self.response = response
|
|
if msg is None:
|
|
msg = self.response.info
|
|
super().__init__(msg)
|
|
|
|
|
|
@_collect_exception_class
|
|
class EAreaFull(OMResponseException):
|
|
pass
|
|
|
|
|
|
@_collect_exception_class
|
|
class EAuth(OMResponseException):
|
|
pass
|
|
|
|
|
|
@_collect_exception_class
|
|
class EDectRegDomainInvalid(OMResponseException):
|
|
pass
|
|
|
|
|
|
@_collect_exception_class
|
|
class EEncryptNotAllowed(OMResponseException):
|
|
pass
|
|
|
|
|
|
@_collect_exception_class
|
|
class EExist(OMResponseException):
|
|
pass
|
|
|
|
|
|
@_collect_exception_class
|
|
class EFailed(OMResponseException):
|
|
pass
|
|
|
|
|
|
@_collect_exception_class
|
|
class EForbidden(OMResponseException):
|
|
pass
|
|
|
|
|
|
@_collect_exception_class
|
|
class EInProgress(OMResponseException):
|
|
pass
|
|
|
|
|
|
@_collect_exception_class
|
|
class EInval(OMResponseException):
|
|
def __init__(self, response):
|
|
super().__init__(response, response.bad)
|
|
|
|
|
|
@_collect_exception_class
|
|
class EInvalidChars(OMResponseException):
|
|
pass
|
|
|
|
|
|
@_collect_exception_class
|
|
class ELicense(OMResponseException):
|
|
pass
|
|
|
|
|
|
@_collect_exception_class
|
|
class ELicenseFile(OMResponseException):
|
|
pass
|
|
|
|
|
|
@_collect_exception_class
|
|
class ELicenseWrongInstallId(OMResponseException):
|
|
pass
|
|
|
|
|
|
@_collect_exception_class
|
|
class EMissing(OMResponseException):
|
|
def __init__(self, response):
|
|
super().__init__(response, response.bad)
|
|
|
|
|
|
@_collect_exception_class
|
|
class ENoEnt(OMResponseException):
|
|
pass
|
|
|
|
|
|
@_collect_exception_class
|
|
class ENoMem(OMResponseException):
|
|
pass
|
|
|
|
|
|
@_collect_exception_class
|
|
class EPerm(OMResponseException):
|
|
pass
|
|
|
|
|
|
@_collect_exception_class
|
|
class EPwEmpty(OMResponseException):
|
|
pass
|
|
|
|
|
|
@_collect_exception_class
|
|
class EPwSimilarToHost(OMResponseException):
|
|
pass
|
|
|
|
|
|
@_collect_exception_class
|
|
class EPwSimilarToName(OMResponseException):
|
|
pass
|
|
|
|
|
|
@_collect_exception_class
|
|
class EPwTooManySimilarChars(OMResponseException):
|
|
pass
|
|
|
|
|
|
@_collect_exception_class
|
|
class EPwTooShort(OMResponseException):
|
|
pass
|
|
|
|
|
|
@_collect_exception_class
|
|
class EPwTooSimilar(OMResponseException):
|
|
pass
|
|
|
|
|
|
@_collect_exception_class
|
|
class EPwTooWeak(OMResponseException):
|
|
pass
|
|
|
|
|
|
@_collect_exception_class
|
|
class EPwUnchanged(OMResponseException):
|
|
pass
|
|
|
|
|
|
@_collect_exception_class
|
|
class ETooLong(OMResponseException):
|
|
def __init__(self, response):
|
|
super().__init__(response, response.bad + ", maximum of " + str(response.maxLen))
|
|
|
|
|
|
@_collect_exception_class
|
|
class EWlanRegDomainInvalid(OMResponseException):
|
|
pass
|