def bind(self, target):
if self.func not in dir(target):
return None
funcs = []
if self.read_pattern is not None:
def getter():
return getattr(target, self.func)
if inspect.isdatadescriptor(getattr(type(target), self.func)):
getter.__doc__ = 'Getter: ' + inspect.getdoc(getattr(type(target), self.func))
funcs.append(
Func(getter, self.read_pattern, return_mapping=self.return_mapping, doc=self.doc))
if self.write_pattern is not None:
def setter(new_value):
setattr(target, self.func, new_value)
if inspect.isdatadescriptor(getattr(type(target), self.func)):
setter.__doc__ = 'Setter: ' + inspect.getdoc(getattr(type(target), self.func))
funcs.append(
Func(setter, self.write_pattern, argument_mappings=self.argument_mappings,
return_mapping=self.return_mapping, doc=self.doc))
return funcs
评论列表
文章目录