Message286752
Some of the builtin methods are not recognized as such by inspect.isroutine(). inspect.ismethoddescriptor() only returns True for the unbound versions of the methods but not the bound ones.
For example:
>>> inspect.isroutine(object.__str__)
True
>>> inspect.isroutine(object().__str__)
False
The second one should also return True as it does for user-defined classes:
>>> class A:
... def f(self):
... pass
>>> inspect.isroutine(A.f)
True
>>> inspect.isroutine(A().f)
True
The types needed for that have already been added to the types module in issue #29377. Here is the commit: https://github.com/python/cpython/commit/1947d33a0a1c2ba006397579ec6235528faea9fd |
|
Date |
User |
Action |
Args |
2017-02-02 09:32:53 | Wheerd | set | recipients:
+ Wheerd, yselivanov, levkivskyi |
2017-02-02 09:32:53 | Wheerd | set | messageid: <1486027973.42.0.383629669841.issue29418@psf.upfronthosting.co.za> |
2017-02-02 09:32:53 | Wheerd | link | issue29418 messages |
2017-02-02 09:32:52 | Wheerd | create | |
|