Uploaded Test files
This commit is contained in:
parent
f584ad9d97
commit
2e81cb7d99
16627 changed files with 2065359 additions and 102444 deletions
92
venv/Lib/site-packages/jupyter_console/zmqhistory.py
Normal file
92
venv/Lib/site-packages/jupyter_console/zmqhistory.py
Normal file
|
|
@ -0,0 +1,92 @@
|
|||
""" ZMQ Kernel History accessor and manager. """
|
||||
#-----------------------------------------------------------------------------
|
||||
# Copyright (C) 2010-2011 The IPython Development Team.
|
||||
#
|
||||
# Distributed under the terms of the BSD License.
|
||||
#
|
||||
# The full license is in the file COPYING.txt, distributed with this software.
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Imports
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
from IPython.core.history import HistoryAccessorBase
|
||||
from traitlets import Dict, List
|
||||
|
||||
from queue import Empty # Py 3
|
||||
|
||||
class ZMQHistoryManager(HistoryAccessorBase):
|
||||
"""History accessor and manager for ZMQ-based kernels"""
|
||||
input_hist_parsed = List([""])
|
||||
output_hist = Dict()
|
||||
dir_hist = List()
|
||||
output_hist_reprs = Dict()
|
||||
|
||||
def __init__(self, client):
|
||||
"""
|
||||
Class to load the command-line history from a ZMQ-based kernel,
|
||||
and access the history.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
|
||||
client: `IPython.kernel.KernelClient`
|
||||
The kernel client in order to request the history.
|
||||
"""
|
||||
self.client = client
|
||||
|
||||
def _load_history(self, raw=True, output=False, hist_access_type='range',
|
||||
**kwargs):
|
||||
"""
|
||||
Load the history over ZMQ from the kernel. Wraps the history
|
||||
messaging with loop to wait to get history results.
|
||||
"""
|
||||
history = []
|
||||
if hasattr(self.client, "history"):
|
||||
## In tests, KernelClient may not have a history method
|
||||
msg_id = self.client.history(raw=raw, output=output,
|
||||
hist_access_type=hist_access_type,
|
||||
**kwargs)
|
||||
while True:
|
||||
try:
|
||||
reply = self.client.get_shell_msg(timeout=1)
|
||||
except Empty:
|
||||
break
|
||||
else:
|
||||
if reply['parent_header'].get('msg_id') == msg_id:
|
||||
history = reply['content'].get('history', [])
|
||||
break
|
||||
return history
|
||||
|
||||
def get_tail(self, n=10, raw=True, output=False, include_latest=False):
|
||||
return self._load_history(hist_access_type='tail', n=n, raw=raw,
|
||||
output=output)
|
||||
|
||||
def search(self, pattern="*", raw=True, search_raw=True,
|
||||
output=False, n=None, unique=False):
|
||||
return self._load_history(hist_access_type='search', pattern=pattern,
|
||||
raw=raw, search_raw=search_raw,
|
||||
output=output, n=n, unique=unique)
|
||||
|
||||
def get_range(self, session, start=1, stop=None, raw=True,output=False):
|
||||
return self._load_history(hist_access_type='range', raw=raw,
|
||||
output=output, start=start, stop=stop,
|
||||
session=session)
|
||||
|
||||
def get_range_by_str(self, rangestr, raw=True, output=False):
|
||||
return self._load_history(hist_access_type='range', raw=raw,
|
||||
output=output, rangestr=rangestr)
|
||||
|
||||
def end_session(self):
|
||||
"""
|
||||
Nothing to do for ZMQ-based histories.
|
||||
"""
|
||||
pass
|
||||
|
||||
def reset(self, new_session=True):
|
||||
"""
|
||||
Nothing to do for ZMQ-based histories.
|
||||
"""
|
||||
pass
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue