Source code for i3pystatus.core.exceptions

[docs]class ConfigError(Exception): """ABC for configuration exceptions""" def __init__(self, module, *args, **kwargs): self.message = "Module '{0}': {1}".format( module, self.format(*args, **kwargs)) super().__init__(self.message)
[docs] def format(self, *args, **kwargs): return ""
[docs]class ConfigKeyError(ConfigError, KeyError):
[docs] def format(self, key): return "invalid option '{0}'".format(key)
[docs]class ConfigMissingError(ConfigError):
[docs] def format(self, missing): return "missing required options: {0}".format(missing)
[docs]class ConfigAmbigiousClassesError(ConfigError):
[docs] def format(self, ambigious_classes): return "ambigious module specification, found multiple classes: {0}".format(ambigious_classes)
[docs]class ConfigInvalidModuleError(ConfigError):
[docs] def format(self): return "no class found"