MCPcopy
hub / github.com/python-attrs/attrs / __init__

Method __init__

src/attr/_make.py:3117–3140  ·  view source on GitHub ↗
(self, converter, *, takes_self=False, takes_field=False)

Source from the content-addressed store, hash-verified

3115 )
3116
3117 def __init__(self, converter, *, takes_self=False, takes_field=False):
3118 self.converter = converter
3119 self.takes_self = takes_self
3120 self.takes_field = takes_field
3121
3122 ex = _AnnotationExtractor(converter)
3123 self._first_param_type = ex.get_first_param_type()
3124
3125 if not (self.takes_self or self.takes_field):
3126 self.__call__ = lambda value, _, __: self.converter(value)
3127 elif self.takes_self and not self.takes_field:
3128 self.__call__ = lambda value, instance, __: self.converter(
3129 value, instance
3130 )
3131 elif not self.takes_self and self.takes_field:
3132 self.__call__ = lambda value, __, field: self.converter(
3133 value, field
3134 )
3135 else:
3136 self.__call__ = self.converter
3137
3138 rt = ex.get_return_type()
3139 if rt is not None:
3140 self.__call__.__annotations__["return"] = rt
3141
3142 @staticmethod
3143 def _get_global_name(attr_name: str) -> str:

Callers 1

__setstate__Method · 0.95

Calls 3

get_first_param_typeMethod · 0.80
get_return_typeMethod · 0.80

Tested by

no test coverage detected