2019-07-07 02:49:54 -07:00
|
|
|
"""
|
|
|
|
Custom exceptions for hyperglass
|
|
|
|
"""
|
|
|
|
|
|
|
|
|
|
|
|
class HyperglassError(Exception):
|
|
|
|
"""
|
|
|
|
hyperglass base exception.
|
|
|
|
"""
|
|
|
|
|
|
|
|
|
|
|
|
class ConfigError(HyperglassError):
|
|
|
|
"""
|
|
|
|
Raised for user-inflicted configuration issues. Examples:
|
|
|
|
- Fat fingered NOS in device definition
|
|
|
|
- Used invalid type (str, int, etc.) in hyperglass.yaml
|
|
|
|
"""
|
|
|
|
|
|
|
|
def __init__(self, message):
|
2019-07-07 22:38:57 -07:00
|
|
|
super().__init__(message)
|
2019-07-07 02:49:54 -07:00
|
|
|
self.message = message
|
|
|
|
|
|
|
|
def __str__(self):
|
|
|
|
return self.message
|
|
|
|
|
|
|
|
|
2019-07-15 02:30:42 -07:00
|
|
|
class CantConnect(HyperglassError):
|
|
|
|
def __init__(self, message):
|
|
|
|
super().__init__(message)
|
|
|
|
self.message = message
|
|
|
|
|
|
|
|
def __str__(self):
|
|
|
|
return self.message
|
|
|
|
|
|
|
|
|
|
|
|
class ParseError(HyperglassError):
|
|
|
|
"""
|
|
|
|
Raised when an ouput parser encounters an error.
|
|
|
|
"""
|
|
|
|
|
|
|
|
def __init__(self, message):
|
|
|
|
super().__init__(message)
|
|
|
|
self.message = message
|
|
|
|
|
|
|
|
def __str__(self):
|
|
|
|
return self.message
|
|
|
|
|
|
|
|
|
2019-07-07 02:49:54 -07:00
|
|
|
class UnsupportedDevice(HyperglassError):
|
|
|
|
"""
|
|
|
|
Raised when an input NOS is not in the supported NOS list.
|
|
|
|
"""
|
|
|
|
|
|
|
|
def __init__(self, message):
|
2019-07-07 22:38:57 -07:00
|
|
|
super().__init__(message)
|
2019-07-07 02:49:54 -07:00
|
|
|
self.message = message
|
|
|
|
|
|
|
|
def __str__(self):
|
|
|
|
return self.message
|