exceptions: define format in ABC

This commit is contained in:
enkore 2013-10-23 21:52:44 +02:00
parent 702b160c93
commit 1295bf1ec5

View File

@ -1,6 +1,5 @@
class ConfigError(Exception): class ConfigError(Exception):
"""ABC for configuration exceptions""" """ABC for configuration exceptions"""
def __init__(self, module, *args, **kwargs): def __init__(self, module, *args, **kwargs):
@ -9,26 +8,25 @@ class ConfigError(Exception):
super().__init__(message) super().__init__(message)
def format(self, *args, **kwargs):
return ""
class ConfigKeyError(ConfigError, KeyError): class ConfigKeyError(ConfigError, KeyError):
def format(self, key): def format(self, key):
return "invalid option '{0}'".format(key) return "invalid option '{0}'".format(key)
class ConfigMissingError(ConfigError): class ConfigMissingError(ConfigError):
def format(self, missing): def format(self, missing):
return "missing required options: {0}".format(missing) return "missing required options: {0}".format(missing)
class ConfigAmbigiousClassesError(ConfigError): class ConfigAmbigiousClassesError(ConfigError):
def format(self, ambigious_classes): def format(self, ambigious_classes):
return "ambigious module specification, found multiple classes: {0}".format(ambigious_classes) return "ambigious module specification, found multiple classes: {0}".format(ambigious_classes)
class ConfigInvalidModuleError(ConfigError): class ConfigInvalidModuleError(ConfigError):
def format(self): def format(self):
return "no class found" return "no class found"