From 323d9f476d717495ba55b5409172605b91c2470c 2021-11-23 18:39:06 From: Ahmed Fasih Date: 2021-11-23 18:39:06 Subject: [PATCH] Specify unwanted sections of info output --- diff --git a/IPython/core/interactiveshell.py b/IPython/core/interactiveshell.py index 0dec753..7d3d003 100644 --- a/IPython/core/interactiveshell.py +++ b/IPython/core/interactiveshell.py @@ -1804,7 +1804,7 @@ class InteractiveShell(SingletonConfigurable): """Get object info as formatted text""" return self.object_inspect_mime(oname, detail_level)['text/plain'] - def object_inspect_mime(self, oname, detail_level=0): + def object_inspect_mime(self, oname, detail_level=0, omit_sections={}): """Get object info as a mimebundle of formatted representations. A mimebundle is a dictionary, keyed by mime-type. @@ -1820,6 +1820,7 @@ class InteractiveShell(SingletonConfigurable): info=info, detail_level=detail_level, formatter=docformat, + omit_sections=omit_sections, ) else: raise KeyError(oname) diff --git a/IPython/core/oinspect.py b/IPython/core/oinspect.py index 09b7470..9153eb1 100644 --- a/IPython/core/oinspect.py +++ b/IPython/core/oinspect.py @@ -566,7 +566,7 @@ class Inspector(Colorable): bundle['text/plain'] = text return bundle - def _get_info(self, obj, oname='', formatter=None, info=None, detail_level=0): + def _get_info(self, obj, oname='', formatter=None, info=None, detail_level=0, omit_sections={}): """Retrieve an info dict and format it. Parameters @@ -581,6 +581,8 @@ class Inspector(Colorable): already computed information detail_level: integer Granularity of detail level, if set to 1, give more information. + omit_sections: set[str] + Titles or keys to omit from output """ info = self._info(obj, oname=oname, info=info, detail_level=detail_level) @@ -591,6 +593,8 @@ class Inspector(Colorable): } def append_field(bundle, title:str, key:str, formatter=None): + if title in omit_sections or key in omit_sections: + return field = info[key] if field is not None: formatted_field = self._mime_format(field, formatter) @@ -655,7 +659,7 @@ class Inspector(Colorable): return self.format_mime(_mime) - def pinfo(self, obj, oname='', formatter=None, info=None, detail_level=0, enable_html_pager=True): + def pinfo(self, obj, oname='', formatter=None, info=None, detail_level=0, enable_html_pager=True, omit_sections={}): """Show detailed information about an object. Optional arguments: @@ -676,8 +680,10 @@ class Inspector(Colorable): precomputed already. - detail_level: if set to 1, more information is given. + + - omit_sections: set of section keys and titles to omit """ - info = self._get_info(obj, oname, formatter, info, detail_level) + info = self._get_info(obj, oname, formatter, info, detail_level, omit_sections=omit_sections) if not enable_html_pager: del info['text/html'] page.page(info)