1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
from pyasn1.error import PyAsn1Error
from pysnmp.error import PySnmpError
class SmiError(PySnmpError, PyAsn1Error): pass
class MibOperationError(SmiError):
def __init__(self, **kwargs): self.__outArgs = kwargs
def __str__(self): return str(self.__outArgs)
def __getitem__(self, key): return self.__outArgs[key]
def has_key(self, key): return self.__outArgs.has_key(key)
def get(self, key, defVal=None): return self.__outArgs.get(key, defVal)
def keys(self): return self.__outArgs.keys()
# Aligned with SNMPv2 PDU error-status
class GenError(MibOperationError): pass
class NoAccessError(MibOperationError): pass
class WrongTypeError(MibOperationError): pass
class WrongValueError(MibOperationError): pass
class NoCreationError(MibOperationError): pass
class InconsistentValueError(MibOperationError): pass
class ResourceUnavailableError(MibOperationError): pass
class CommitFailedError(MibOperationError): pass
class UndoFailedError(MibOperationError): pass
class AuthorizationError(MibOperationError): pass
class NotWritableError(MibOperationError): pass
class InconsistentNameError(MibOperationError): pass
# Aligned with SNMPv2 Var-Bind exceptions
class NoSuchObjectError(MibOperationError): pass
class NoSuchInstanceError(NoSuchObjectError): pass
class EndOfMibViewError(MibOperationError): pass
# Row management
class RowCreationWanted(MibOperationError): pass
class RowDestructionWanted(MibOperationError): pass
|