[IPython-dev] _repr_pretty_() for dict subclasses

Walter Dörwald walter at livinglogic.de
Fri Mar 30 07:14:52 EDT 2012


On 23.03.12 18:24, Robert Kern wrote:

> On 3/23/12 5:07 PM, Walter Dörwald wrote:
>> Hello all!
>>
>> I'm currently experimenting with the new pretty printing framework. It
>> seems there's a problem with the _repr_pretty_ method in dict subclasses:
>>
>> [...]
>>
>> The proper solution would probably be to walk the mro and see if there's
>> either a registered printer or a _repr_pretty_ method for the class.
>> However I'm not sure if there's a reliable way to check whether a method
>> is implemented in the class itself or inherited from any of the base
>> classes.
>
> It will be in the __dict__ of the class that defines it. The algorithm should
> probably be:
>
>     1. Try to find registered singleton printers for the type.
>     2. Walk up the MRO:
>       a. Look in type_printers for the current class.
>       b. Then look for _repr_pretty_ in the current class's __dict__.

OK, I have a patch ready for this:

    https://github.com/ipython/ipython/pull/1535

Servus,
    Walter





More information about the IPython-dev mailing list