History (xonsh.history
)¶
Implements the xonsh history object.
-
class
xonsh.history.
CommandField
(field, hist, default=None)[source]¶ A field in the ‘cmds’ portion of history.
Represents a field in the ‘cmds’ portion of history.
Will query the buffer for the relevant data, if possible. Otherwise it will lazily acquire data from the file.
Parameters: field : str
The name of the field to query.
hist : History object
The history object to query.
default : optional
The default value to return if key is not present.
-
count
(value) → integer -- return number of occurrences of value¶
-
index
(value[, start[, stop]]) → integer -- return first index of value.¶ Raises ValueError if the value is not present.
-
-
class
xonsh.history.
History
(filename=None, sessionid=None, buffersize=100, gc=True, **meta)[source]¶ Xonsh session history.
Represents a xonsh session’s history as an in-memory buffer that is periodically flushed to disk.
Parameters: filename : str, optional
Location of history file, defaults to
$XONSH_DATA_DIR/xonsh-{sessionid}.json
.sessionid : int, uuid, str, optional
Current session identifier, will generate a new sessionid if not set.
buffersize : int, optional
Maximum buffersize in memory.
meta : optional
Top-level metadata to store along with the history. The kwargs ‘cmds’ and ‘sessionid’ are not allowed and will be overwritten.
gc : bool, optional
Run garbage collector flag.
-
append
(cmd)[source]¶ Appends command to history. Will periodically flush the history to file.
Parameters: cmd : dict
Command dictionary that should be added to the ordered history.
Returns: hf : HistoryFlusher or None
The thread that was spawned to flush history
-
-
class
xonsh.history.
HistoryFlusher
(filename, buffer, queue, cond, at_exit=False, *args, **kwargs)[source]¶ Flush shell history to disk periodically.
Thread for flushing history.
-
getName
()¶
-
isAlive
()¶ Return whether the thread is alive.
This method returns True just before the run() method starts until just after the run() method terminates. The module function enumerate() returns a list of all alive threads.
-
isDaemon
()¶
-
is_alive
()¶ Return whether the thread is alive.
This method returns True just before the run() method starts until just after the run() method terminates. The module function enumerate() returns a list of all alive threads.
-
join
(timeout=None)¶ Wait until the thread terminates.
This blocks the calling thread until the thread whose join() method is called terminates – either normally or through an unhandled exception or until the optional timeout occurs.
When the timeout argument is present and not None, it should be a floating point number specifying a timeout for the operation in seconds (or fractions thereof). As join() always returns None, you must call isAlive() after join() to decide whether a timeout happened – if the thread is still alive, the join() call timed out.
When the timeout argument is not present or None, the operation will block until the thread terminates.
A thread can be join()ed many times.
join() raises a RuntimeError if an attempt is made to join the current thread as that would cause a deadlock. It is also an error to join() a thread before it has been started and attempts to do so raises the same exception.
-
setDaemon
(daemonic)¶
-
setName
(name)¶
-
start
()¶ Start the thread’s activity.
It must be called at most once per thread object. It arranges for the object’s run() method to be invoked in a separate thread of control.
This method will raise a RuntimeError if called more than once on the same thread object.
-
daemon
¶ A boolean value indicating whether this thread is a daemon thread.
This must be set before start() is called, otherwise RuntimeError is raised. Its initial value is inherited from the creating thread; the main thread is not a daemon thread and therefore all threads created in the main thread default to daemon = False.
The entire Python program exits when no alive non-daemon threads are left.
-
ident
¶ Thread identifier of this thread or None if it has not been started.
This is a nonzero integer. See the thread.get_ident() function. Thread identifiers may be recycled when a thread exits and another thread is created. The identifier is available even after the thread has exited.
-
name
¶ A string used for identification purposes only.
It has no semantics. Multiple threads may be given the same name. The initial name is set by the constructor.
-
-
class
xonsh.history.
HistoryGC
(wait_for_shell=True, size=None, *args, **kwargs)[source]¶ Shell history garbage collection.
Thread responsible for garbage collecting old history.
May wait for shell (and for xonshrc to have been loaded) to start work.
-
files
(only_unlocked=False)[source]¶ Find and return the history files. Optionally locked files may be excluded.
This is sorted by the last closed time. Returns a list of (timestamp, file) tuples.
-
getName
()¶
-
isAlive
()¶ Return whether the thread is alive.
This method returns True just before the run() method starts until just after the run() method terminates. The module function enumerate() returns a list of all alive threads.
-
isDaemon
()¶
-
is_alive
()¶ Return whether the thread is alive.
This method returns True just before the run() method starts until just after the run() method terminates. The module function enumerate() returns a list of all alive threads.
-
join
(timeout=None)¶ Wait until the thread terminates.
This blocks the calling thread until the thread whose join() method is called terminates – either normally or through an unhandled exception or until the optional timeout occurs.
When the timeout argument is present and not None, it should be a floating point number specifying a timeout for the operation in seconds (or fractions thereof). As join() always returns None, you must call isAlive() after join() to decide whether a timeout happened – if the thread is still alive, the join() call timed out.
When the timeout argument is not present or None, the operation will block until the thread terminates.
A thread can be join()ed many times.
join() raises a RuntimeError if an attempt is made to join the current thread as that would cause a deadlock. It is also an error to join() a thread before it has been started and attempts to do so raises the same exception.
-
setDaemon
(daemonic)¶
-
setName
(name)¶
-
start
()¶ Start the thread’s activity.
It must be called at most once per thread object. It arranges for the object’s run() method to be invoked in a separate thread of control.
This method will raise a RuntimeError if called more than once on the same thread object.
-
daemon
¶ A boolean value indicating whether this thread is a daemon thread.
This must be set before start() is called, otherwise RuntimeError is raised. Its initial value is inherited from the creating thread; the main thread is not a daemon thread and therefore all threads created in the main thread default to daemon = False.
The entire Python program exits when no alive non-daemon threads are left.
-
ident
¶ Thread identifier of this thread or None if it has not been started.
This is a nonzero integer. See the thread.get_ident() function. Thread identifiers may be recycled when a thread exits and another thread is created. The identifier is available even after the thread has exited.
-
name
¶ A string used for identification purposes only.
It has no semantics. Multiple threads may be given the same name. The initial name is set by the constructor.
-