Skip to content
Snippets Groups Projects
Commit ac6d4c4f authored by Piotr Maślanka's avatar Piotr Maślanka
Browse files

better __repr__s for ConfigurationSources

parent 5e86abdf
No related branches found
No related tags found
No related merge requests found
...@@ -15,6 +15,9 @@ class BaseSource(object): ...@@ -15,6 +15,9 @@ class BaseSource(object):
""" """
return {} return {}
def __repr__(self):
return '<%s>' % (self.__class__.__qualname__, )
class StaticSource(BaseSource): class StaticSource(BaseSource):
""" """
......
...@@ -22,6 +22,9 @@ class AlternativeSource(BaseSource): ...@@ -22,6 +22,9 @@ class AlternativeSource(BaseSource):
super().__init__() super().__init__()
self.sources = sources self.sources = sources
def __repr__(self):
return 'AlternativeSource(%s)' % (repr(self.sources), )
def provide(self) -> dict: def provide(self) -> dict:
""" """
:raises ConfigurationError: when backup fails too :raises ConfigurationError: when backup fails too
...@@ -51,6 +54,9 @@ class OptionalSource(AlternativeSource): ...@@ -51,6 +54,9 @@ class OptionalSource(AlternativeSource):
def __init__(self, source: BaseSource): def __init__(self, source: BaseSource):
super().__init__(source, BaseSource()) super().__init__(source, BaseSource())
def __repr__(self):
return 'OptionalSource(%s)' % (repr(self.sources[0], ))
class MergingSource(BaseSource): class MergingSource(BaseSource):
""" """
...@@ -72,7 +78,7 @@ class MergingSource(BaseSource): ...@@ -72,7 +78,7 @@ class MergingSource(BaseSource):
try: try:
p = source.provide() p = source.provide()
except ConfigurationError as e: except ConfigurationError as e:
logger.warning('Raised %s while processing %s', e, p) logger.warning('Raised %s while processing %s', e, source)
if self.on_fail == MergingSource.RAISE: if self.on_fail == MergingSource.RAISE:
raise e raise e
elif self.on_fail == MergingSource.SILENT: elif self.on_fail == MergingSource.SILENT:
...@@ -86,3 +92,6 @@ class MergingSource(BaseSource): ...@@ -86,3 +92,6 @@ class MergingSource(BaseSource):
assert isinstance(cfg, dict), 'what merge_dicts returned wasn''t a dict' assert isinstance(cfg, dict), 'what merge_dicts returned wasn''t a dict'
return cfg return cfg
def __repr__(self):
return '<MergingSource %s>' % (repr(self.sources), )
...@@ -50,7 +50,8 @@ class FileSource(BaseSource): ...@@ -50,7 +50,8 @@ class FileSource(BaseSource):
raise ConfigurationError('%s is not a dict instance' % (s,)) raise ConfigurationError('%s is not a dict instance' % (s,))
logger.warning('Processed %s, returned %s', self.path, s) logger.warning('Processed %s, returned %s', self.path, s)
return s return s
except ConfigurationError: except ConfigurationError as e:
logger.warning('Got %s while processing %s', e, repr(data))
pass pass
else: else:
raise ConfigurationError('no reader could parse the file') raise ConfigurationError('no reader could parse the file')
......
...@@ -4,7 +4,7 @@ class BaseSatellaException(Exception): ...@@ -4,7 +4,7 @@ class BaseSatellaException(Exception):
self.msg = msg self.msg = msg
def __str__(self): def __str__(self):
return 'BaseSatellaException(%s)' % (repr(self.msg),) return '%s(%s)' % (self._class__.__qualname__, repr(self.msg),)
class ResourceLocked(BaseSatellaException): class ResourceLocked(BaseSatellaException):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment