Author serhiy.storchaka
Recipients fdrake, pitrou, rhettinger, serhiy.storchaka
Date 2015-02-23.19:21:47
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1424719308.61.0.00451137981633.issue23502@psf.upfronthosting.co.za>
In-reply-to
Content
Mapping proxy is quite often used in building . For example types __dict__ are mapping proxy.

>>> bool.__dict__
mappingproxy({'__or__': <slot wrapper '__or__' of 'bool' objects>, '__doc__': 'bool(x) -> bool\n\nReturns True when the argument x is true, False otherwise.\nThe builtins True and False are the only two instances of the class bool.\nThe class bool is a subclass of the class int, and cannot be subclassed.', '__xor__': <slot wrapper '__xor__' of 'bool' objects>, '__and__': <slot wrapper '__and__' of 'bool' objects>, '__rxor__': <slot wrapper '__rxor__' of 'bool' objects>, '__repr__': <slot wrapper '__repr__' of 'bool' objects>, '__new__': <built-in method __new__ of type object at 0x82a1140>, '__rand__': <slot wrapper '__rand__' of 'bool' objects>, '__str__': <slot wrapper '__str__' of 'bool' objects>, '__ror__': <slot wrapper '__ror__' of 'bool' objects>})

Mapping proxy is not a subclass of dict, so pprint doesn't print it pretty. Proposed patch adds support for mapping proxies in pprint.

>>> from pprint import pprint as pp
>>> pp(bool.__dict__)
mappingproxy({'__and__': <slot wrapper '__and__' of 'bool' objects>,
              '__doc__': 'bool(x) -> bool\n'
                         '\n'
                         'Returns True when the argument x is true, False '
                         'otherwise.\n'
                         'The builtins True and False are the only two '
                         'instances of the class bool.\n'
                         'The class bool is a subclass of the class int, and '
                         'cannot be subclassed.',
              '__new__': <built-in method __new__ of type object at 0x82a1140>,
              '__or__': <slot wrapper '__or__' of 'bool' objects>,
              '__rand__': <slot wrapper '__rand__' of 'bool' objects>,
              '__repr__': <slot wrapper '__repr__' of 'bool' objects>,
              '__ror__': <slot wrapper '__ror__' of 'bool' objects>,
              '__rxor__': <slot wrapper '__rxor__' of 'bool' objects>,
              '__str__': <slot wrapper '__str__' of 'bool' objects>,
              '__xor__': <slot wrapper '__xor__' of 'bool' objects>})
History
Date User Action Args
2015-02-23 19:21:48serhiy.storchakasetrecipients: + serhiy.storchaka, fdrake, rhettinger, pitrou
2015-02-23 19:21:48serhiy.storchakasetmessageid: <1424719308.61.0.00451137981633.issue23502@psf.upfronthosting.co.za>
2015-02-23 19:21:48serhiy.storchakalinkissue23502 messages
2015-02-23 19:21:48serhiy.storchakacreate