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

v2.3.1

parent 4d24d6d7
No related branches found
No related tags found
No related merge requests found
# v2.3.1
* _TBA_
* more descriptive exceptions in descriptors
# v2.3.0
......
# coding=UTF-8
__version__ = '2.3.1rc1'
__version__ = '2.3.1'
......@@ -72,6 +72,9 @@ class Descriptor(object):
self.MY_EXCEPTIONS = tuple(self.MY_EXCEPTIONS)
def __str__(self):
return '%s()' % (self.__class__.__qualname__, )
def __call__(self, value: ConfigDictValue) -> tp.Any:
"""
raises ConfigurationSchemaError: on invalid schema
......@@ -80,8 +83,8 @@ class Descriptor(object):
try:
value = self.BASIC_MAKER(value)
except self.MY_EXCEPTIONS:
raise ConfigurationValidationError('could not pass to maker', value)
except self.MY_EXCEPTIONS as e:
raise ConfigurationValidationError('could not pass to maker due to %s' % (e, ), value)
self.post_checkers(value)
......@@ -162,6 +165,9 @@ class Regexp(String):
return match.group(0)
def __str__(self):
return 'Regexp(%s)' % (self.REGEXP.pattern, )
class IPv4(Regexp):
"""
......@@ -186,6 +192,9 @@ class List(Descriptor):
return [self.type_descriptor(p) for p in value]
def __str__(self):
return 'List(%s)' % (self.type_descriptor, )
DictDescriptorKey = tp.NewType('DictDescriptorKey', Descriptor)
......@@ -226,6 +235,9 @@ class Dict(Descriptor):
self.keys = {item.name: item for item in keys} # tp.Dict[str, DictDescriptorKey]
self.unknown_key_mapper = unknown_key_mapper # Dict.UnknownKeyHandlerType
def __str__(self):
return 'Dict(%s)' % (self.keys, )
def __call__(self, value: ConfigDictValue) -> dict:
value = copy.copy(value)
if not isinstance(value, dict):
......
class BaseSatellaException(Exception):
def __init__(self, msg, *args, **kwargs):
super().__init__(*((msg,) + args))
super().__init__(*(msg, *args))
self.msg = msg
def __str__(self):
return '%s(%s)' % (self.__class__.__qualname__, self.args)
def __repr__(self):
return '%s(%s)' % (self.__class__.__qualname__, ', '.join(map(repr, self.args)))
class ResourceLocked(BaseSatellaException):
"""Given resource has been already locked"""
......
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