aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/python/ipython/py3/IPython/core/displayhook.py
diff options
context:
space:
mode:
authorrobot-contrib <robot-contrib@yandex-team.com>2023-10-17 12:01:23 +0300
committerrobot-contrib <robot-contrib@yandex-team.com>2023-10-17 13:04:07 +0300
commit76c7d125f60269c763b56795389abf92a99fa16e (patch)
tree36630cad94f93a941e0549598f7b8aaa159747f0 /contrib/python/ipython/py3/IPython/core/displayhook.py
parentf657d570ad791fac09e4581d8f9a8696dcec39e3 (diff)
downloadydb-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.py17
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: