Skip to content

Commit 1251641

Browse files
authored
Merge pull request #282 from MikeHart85/stream_getdoc_fix
Stream adapter fails to bind instance members
2 parents e836044 + 7f83ffb commit 1251641

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

src/lewis/adapters/stream.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)