Message179738
| Author |
ronaldoussoren |
| Recipients |
ronaldoussoren |
| Date |
2013年01月11日.22:42:08 |
| SpamBayes Score |
-1.0 |
| Marked as misclassified |
Yes |
| Message-id |
<1357944129.98.0.501949279766.issue16938@psf.upfronthosting.co.za> |
| In-reply-to |
| Content |
If a class implements __dir__ to also return a number of attributes that aren't present in the class __dict__ inspect.classify_class_attrs gets confused and assumes the home class is None.
This in turn confused pydoc, docclass in pydoc assumes that the 'class' slot in the sequence returned by classify_class_attrs is actually a class and fails when it None (because None doesn't have a __name__ attribute).
I've classified this as "low" because I've found a useable workaround: I have implemented a "__objclass__" property for my custom descriptor and with that pydoc works.
It would be nice if pydoc wouldn't crash on this. One possible workaround: assume that the class is the inspected class when a name returned by dir(cls) cannot be found in one of the classes on the mro.
I'll provide a patch if this would be acceptable behavior. |
|
History
|
|---|
| Date |
User |
Action |
Args |
| 2013年01月11日 22:42:10 | ronaldoussoren | set | recipients:
+ ronaldoussoren |
| 2013年01月11日 22:42:09 | ronaldoussoren | set | messageid: <1357944129.98.0.501949279766.issue16938@psf.upfronthosting.co.za> |
| 2013年01月11日 22:42:09 | ronaldoussoren | link | issue16938 messages |
| 2013年01月11日 22:42:08 | ronaldoussoren | create |
|