diff options
author | robot-contrib <robot-contrib@yandex-team.com> | 2023-10-17 12:01:23 +0300 |
---|---|---|
committer | robot-contrib <robot-contrib@yandex-team.com> | 2023-10-17 13:04:07 +0300 |
commit | 76c7d125f60269c763b56795389abf92a99fa16e (patch) | |
tree | 36630cad94f93a941e0549598f7b8aaa159747f0 /contrib/python/ipython/py3/IPython/core/displayhook.py | |
parent | f657d570ad791fac09e4581d8f9a8696dcec39e3 (diff) | |
download | ydb-76c7d125f60269c763b56795389abf92a99fa16e.tar.gz |
Update contrib/python/ipython/py3 to 8.16.1
Diffstat (limited to 'contrib/python/ipython/py3/IPython/core/displayhook.py')
-rw-r--r-- | contrib/python/ipython/py3/IPython/core/displayhook.py | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/contrib/python/ipython/py3/IPython/core/displayhook.py b/contrib/python/ipython/py3/IPython/core/displayhook.py index 1ea8d8506f..b411f11613 100644 --- a/contrib/python/ipython/py3/IPython/core/displayhook.py +++ b/contrib/python/ipython/py3/IPython/core/displayhook.py @@ -51,7 +51,7 @@ class DisplayHook(Configurable): # we need a reference to the user-level namespace self.shell = shell - + self._,self.__,self.___ = '','','' # these are deliberately global: @@ -83,9 +83,15 @@ class DisplayHook(Configurable): def quiet(self): """Should we silence the display hook because of ';'?""" - if self.exec_result is not None: - return self.semicolon_at_end_of_expression(self.exec_result.info.raw_cell) - return False + # do not print output if input ends in ';' + + try: + cell = self.shell.history_manager.input_hist_parsed[-1] + except IndexError: + # some uses of ipshellembed may fail here + return False + + return self.semicolon_at_end_of_expression(cell) @staticmethod def semicolon_at_end_of_expression(expression): @@ -274,12 +280,13 @@ class DisplayHook(Configurable): cull_count = max(int(sz * self.cull_fraction), 2) warn('Output cache limit (currently {sz} entries) hit.\n' 'Flushing oldest {cull_count} entries.'.format(sz=sz, cull_count=cull_count)) - + for i, n in enumerate(sorted(oh)): if i >= cull_count: break self.shell.user_ns.pop('_%i' % n, None) oh.pop(n, None) + def flush(self): if not self.do_full_cache: |