def __get__(self, obj, cls: typing.Optional[type]=None):
if obj is None:
return self
default, expression = self.get_raw_value(obj)
if not default:
if not isinstance(expression, collections.abc.Mapping):
raise ConfigTypeError(
'{0!r} field must be a mapping, not {1}'.format(
self.key, typing._type_repr(type(expression))
)
)
elif 'class' not in expression:
raise ConfigValueError(
'{0!r} field lacks "class" field'.format(self.key)
)
value = self.evaluate(expression)
self.typecheck(value)
return value
评论列表
文章目录