@@ -569,8 +569,10 @@ def bind(self, target):
569569 def getter ():
570570 return getattr (target , self .func )
571571
572- if inspect .isdatadescriptor (getattr (type (target ), self .func )):
573- getter .__doc__ = 'Getter: ' + inspect .getdoc (getattr (type (target ), self .func ))
572+ # Copy docstring if target is a @property
573+ prop = getattr (type (target ), self .func , None )
574+ if prop and inspect .isdatadescriptor (prop ):
575+ getter .__doc__ = 'Getter: ' + inspect .getdoc (prop )
574576
575577 funcs .append (
576578 Func (getter , self .read_pattern , return_mapping = self .return_mapping , doc = self .doc ))
@@ -579,8 +581,10 @@ def getter():
579581 def setter (new_value ):
580582 setattr (target , self .func , new_value )
581583
582- if inspect .isdatadescriptor (getattr (type (target ), self .func )):
583- setter .__doc__ = 'Setter: ' + inspect .getdoc (getattr (type (target ), self .func ))
584+ # Copy docstring if target is a @property
585+ prop = getattr (type (target ), self .func , None )
586+ if prop and inspect .isdatadescriptor (prop ):
587+ setter .__doc__ = 'Setter: ' + inspect .getdoc (prop )
584588
585589 funcs .append (
586590 Func (setter , self .write_pattern , argument_mappings = self .argument_mappings ,
0 commit comments