履歴バックエンドJSON - ¶xonsh.history.json
xonsh履歴バックエンドのJSONバージョンを実装します。
-
class
xonsh.history.json.
JsonCommandField
(field、hist、default = None )[ソース] ¶ 歴史の 'cmds'部分のフィールド。
履歴の 'cmds'部分のフィールドを表します。
可能であれば、関連するデータをバッファに問い合わせます。さもなければ、ファイルからデータを遅延取得します。
パラメーター: - フィールド : str
照会するフィールドの名前。
- hist : ヒストリオブジェクト
照会する履歴オブジェクト。
- デフォルト : オプション
キーが存在しない場合に返されるデフォルト値です。
-
class
xonsh.history.json.
JsonHistory
(filename = None、sessionid = None、buffersize = 100、gc = True、** meta )[ソース] ¶ JSONファイルで実装されたXonsh履歴バックエンド。
JsonHistoryは2つの追加アクションを実装
diff
していreplay
ます。定期的にディスクにフラッシュされるメモリ内バッファとしてのxonshセッションの履歴を表します。
パラメーター: - filename : str、オプション
履歴ファイルの場所です
$XONSH_DATA_DIR/xonsh-{sessionid}.json
。既定値は です。- sessionid : int、uuid、str、optional
現在のセッション識別子は、設定されていない場合は新しいセッションIDを生成します。
- buffersize : int、optional
メモリ内の最大バッファサイズ。
- メタ : オプション
履歴とともに保存するトップレベルのメタデータ kwargs 'cmds'と 'sessionid'は許可されず、上書きされます。
- gc : bool、オプション
ガベージコレクタフラグを実行します。
-
all_items
(newest_first = False、** kwargs )[ソース] ¶ XONSH_DATA_DIRにあるすべての履歴を返します。
yield形式:{'inp':cmd、 'rtn':0、...}
-
append
(cmd )[ソース] ¶ 履歴にコマンドを追加します。履歴をファイルに定期的にフラッシュします。
パラメーター: - cmd : dict
このdictには、履歴リストに追加するコマンドに関する情報が含まれています。それは、キーと
inp
、rtn
を含んでいなければなりませんts
。これらのキー名は、HistoryEntry
クラス内のインスタンス変数として定義された同じ名前を反映します。
戻り値: - hf : JsonHistoryFlusherまたはNone
履歴をフラッシュするために生成されたスレッド
-
クラス
xonsh.history.json.
JsonHistoryFlusher
(ファイル名、バッファ、キュー、cond、at_exit = False、* args、** kwargs )[ソース] ¶ シェル履歴をディスクに定期的にフラッシュします。
履歴をフラッシュするためのスレッド。
-
クラス
xonsh.history.json.
JsonHistoryGC
(wait_for_shell = True、サイズ= None、* args、** kwargs )[ソース] ¶ シェル履歴のガベージコレクション。
古い履歴をガベージコレクションするスレッド
shellを(そしてxonshrcがロードされるのを待って)作業を開始するのを待つかもしれません。