ウィザード作成ツール(xonsh.wizard)

ノードツリーからコマンドラインおよびWebベースのウィザードを作成するためのツール。

クラスxonsh.wizard.FileInserter(接頭辞、接尾辞、dump_rules、default_file =なし、check =真、ask_filename = True )[ソース]

接頭辞と接尾辞の間のファイルに状態を挿入するためのノード。状態は、いくつかのダンパー規則に従って変換されます。

パラメーター:
接頭辞 : str

'#XONSH WIZARD START'のように、ファイル内の一意の文字列を検索して挿入を開始する

'
接尾辞: str

ファイル内で見つかる一意の文字列を終了し、置換を終了します。たとえば、

#XONSH WIZARD END '
dump_rules : 関数へのstrのdict

これは、パスのような一致文字列をフラットパスとその値を引数とし、パスの状態値を文字列に変換する関数にマップする辞書です。ここのキーは、標準ライブラリのfnmatchモジュールに見られるように、ワイルドカードを使用することができます。例えば:

dump_rules = {
    '/path/to/exact': lambda path, x: str(x),
    '/otherpath/*': lambda path, x: x,
    '*ending': lambda path x: repr(x),
    '/': None,
    }

ワイルドカードがパスで使用されていない場合、完全一致で使用されるルールが使用されます。ワイルドカードを使用する場合、最も深い一致と最も長い一致が使用されます。関数の代わりにNoneが与えられた場合、そのキーの生成をスキップすることを意味します。

default_file : オプション、str

ファイルを保存するデフォルトのファイル名。

チェック: bool、オプション

現在の状態を印刷し、ファイル名を尋ねてファイルを保存する前に保存/ロードする必要があるかどうかを尋ねるかどうかを指定するには、default = Trueを使用します。

ask_filename : bool、オプション

ファイル名を尋ねるかどうか(Falseデフォルトのファイル名を使用する場合)

dumps(フラット)[ソース]

文字列パスキー、値のペアのフラット・マッピングをダンプし、フォーマットされた文字列を戻します。

find_rule(パス)[ソース]

パスについては、値をダンプするために使用されるキーと変換関数を見つけます。

attrs=( '接頭辞'、 '接尾辞'、 'dump_rules'、 'default_file'、 'check'、 'ask_filename')
default_file
dump_rules
クラスxonsh.wizard.Input(プロンプト= '>>>' 、コンバータ=なし、show_conversion =偽、偽=確認、= Falseの再試行、パス=なし)[ソース]

ユーザーからの入力を取得します。

パラメーター:
プロンプト : str、optional

入力の前にプロンプ​​ト文字列

コンバータ : 呼び出し可能、オプション

保存する前にユーザーが入力した文字列を別のオブジェクトに変換します。

show_conversion : bool、オプション

変換関数が有意義に実行された場合に変換関数の結果を表示するかどうかを示すフラグ。デフォルトはFalseです。

確認 : ブール、オプション

trueまたはbrokenまで入力を確定するかどうか、デフォルトはFalseです。

再試行 : bool、オプション

変換操作が失敗した場合、ユーザーは有効な入力を提供するまで再プロンプトを表示する必要があります。デフォルトはFalseです。

パス : strまたはstrのシーケンス、オプション

ストレージオブジェクト内のパス。

attrs=( 'プロンプト'、 'コンバータ'、 'show_conversion'、 '確認'、 'パス')
クラスxonsh.wizard.LoadJSON(default_file = None、check = True、ask_filename = True )[ソース]

デフォルトまたはユーザー指定のファイル名で状態をJSONファイルとしてロードするためのノード。

パラメーター:
default_file : オプション、str

ファイルを保存するデフォルトのファイル名。

チェック : bool、オプション

現在の状態を印刷し、ファイル名を尋ねてファイルを保存する前に保存/ロードする必要があるかどうかを尋ねるかどうかを指定するには、default = Trueを使用します。

ask_filename : bool、オプション

ファイル名を尋ねるかどうか(Falseデフォルトのファイル名を使用する場合)

attrs=( 'default_file'、 'check'、 'ask_filename')
default_file
クラスxonsh.wizard.Message(メッセージ)[ソース]

ユーザーに報告する簡単なメッセージが含まれています。

attrs= 'メッセージ'
class xonsh.wizard.Node[source]

すべてのノードの基本タイプ。

attrs=()
class xonsh.wizard.Pass[source]

単純なdo-nothingノード

attrs=()
class xonsh.wizard.PrettyFormatter(tree = None、indent = '' )[ソース]

ノードのツリーをかなりの文字列にフォーマットする

visit(node = None )

ノード上を歩く。ノードが指定されていない場合、ツリーが使用されます。

visit_input(ノード)[ソース]
visit_message(ノード)[ソース]
visit_node(ノード)[ソース]
visit_question(ノード)[ソース]
visit_statefile(ノード)[ソース]
visit_while(ノード)[ソース]
visit_wizard(ノード)[ソース]
クラスxonsh.wizard.PromptVisitor(ツリー=なし、状態=なし、** kwargs )[ソース]

コマンドラインプロンプトを使用してツリー内のノードを訪問します。

パラメーター:
ツリー : オプションのノード

ビジターを開始するノードのツリー。

state : dict、オプション

最初の状態は、最初から始まります。

kwargs : オプション

シェルのsingleline()メソッドを介してプロンプトに渡されるオプション。morの詳細については、BaseShellを参照してください。

flatten(パス= '/'、値=なし、フラット=なし)

キーがパスであるストアのdictバージョンを返します。listとdictのエントリは常に '/'で終わるので、dump_rulesでの非統一化が可能です。

store(path、val、indices = None )

パスの場所に値を格納します。

visit(node = None )

ノード上を歩く。ノードが指定されていない場合、ツリーが使用されます。

visit_fileinserter(ノード)[ソース]
visit_input(ノード)[ソース]
visit_loadjson(ノード)[ソース]
visit_message(ノード)[ソース]
visit_pass(ノード)[ソース]
visit_question(ノード)[ソース]
visit_savejson(ノード)[ソース]
visit_while(ノード)[ソース]
visit_wizard(ノード)[ソース]
クラスxonsh.wizard.Question(質問、応答、コンバータ=なし、パス=なし)[ソース]

質問をしてから、応答に基づいて次のノードを選択します。

パラメーター:
質問 : str

質問そのもの。

レスポンス : strキーとNode値を使用したdict

ユーザ入力応答からノードへのマッピング。

コンバータ : 呼び出し可能、オプション

ユーザーが入力した文字列を、応答dictのキーとなる別のオブジェクトに変換します。

パス : strまたはstrのシーケンス、オプション

ストレージオブジェクト内のパス。

attrs=( 'question'、 'responses'、 'converter'、 'path')
クラスxonsh.wizard.SaveJSON(default_file = None、check = True、ask_filename = True )[ソース]

デフォルトまたはユーザー指定のファイル名でJSONファイルとして状態を保存するためのノード。

パラメーター:
default_file : オプション、str

ファイルを保存するデフォルトのファイル名。

チェック : bool、オプション

現在の状態を印刷し、ファイル名を尋ねてファイルを保存する前に保存/ロードする必要があるかどうかを尋ねるかどうかを指定するには、default = Trueを使用します。

ask_filename : bool、オプション

ファイル名を尋ねるかどうか(Falseデフォルトのファイル名を使用する場合)

attrs=( 'default_file'、 'check'、 'ask_filename')
default_file
クラスxonsh.wizard.StateFile(default_file = None、check = True、ask_filename = True )[ソース]

デフォルトまたはユーザーが指定したファイル名で状態をファイルとして表すノード。このノードタイプは、単独では役に立たない可能性があります。

パラメーター:
default_file : オプション、str

ファイルを保存するデフォルトのファイル名。

チェック : bool、オプション

現在の状態を印刷し、ファイル名を尋ねてファイルを保存する前に保存/ロードする必要があるかどうかを尋ねるかどうかを指定するには、default = Trueを使用します。

ask_filename : bool、オプション

ファイル名を尋ねるかどうか(Falseデフォルトのファイル名を使用する場合)

attrs=( 'default_file'、 'check'、 'ask_filename')
default_file
クラスxonsh.wizard.StateVisitor(ツリー=なし、状態=なし、インデックス=なし)[ソース]

このクラスはノードを訪問し、ノードの状態パスに従って結果をトップレベルのデータに格納します。ノードにパスがないか、パスが存在しない場合、ストレージはスキップされます。このクラスは、オプションで既存の状態で初期化することができます。

flatten(パス= '/'、値=なし、フラット=なし)[ソース]

キーがパスであるストアのdictバージョンを返します。listとdictのエントリは常に '/'で終わるので、dump_rulesでの非統一化が可能です。

store(path、val、indices = None )[ソース]

パスの場所に値を格納します。

visit(node = None )[ソース]

ノード上を歩く。ノードが指定されていない場合、ツリーが使用されます。

クラスxonsh.wizard.StoreNonEmpty(プロンプト= '>>>' 、コンバータ=なし、show_conversion =偽、偽=確認、= Falseの再試行、パス=なし、store_raw =偽の)[ソース]

入力が空の文字列でない場合にのみ、ユーザー入力を格納します。これは、コンバータ関数をラップすることによって機能します。

attrs=( 'プロンプト'、 'コンバータ'、 'show_conversion'、 '確認'、 'パス')
class xonsh.wizard.TrueFalse(prompt = 'yesまたはno [デフォルト:no]?'、path = None )[source]

入力ノードはTrueまたはFalseの値を返します。

attrs=( 'プロンプト'、 'コンバータ'、 'show_conversion'、 '確認'、 'パス')
class xonsh.wizard.TrueFalseBreak(prompt = 'yes、no、またはbreak [デフォルト:no]?'、path = None )[ソース]

入力ノードはTrue、False、または 'break'の値を返します。

attrs=( 'プロンプト'、 'コンバータ'、 'show_conversion'、 '確認'、 'パス')
class xonsh.wizard.UnstorableType[source]

入力が与えられなかった場合、または入力がスキップされた場合の格納不可能な戻り値を表します。典型的には、Unstorableシングルトンによって表される。

class xonsh.wizard.Visitor(tree = None )[ソース]

ノードツリー上を歩くべきすべてのクラスのスーパークラス。これはvisit()メソッドを実装しています。

visit(node = None )[ソース]

ノード上を歩く。ノードが指定されていない場合、ツリーが使用されます。

class xonsh.wizard.While(cond、body、idxname = 'idx'、beg = 0、path = None )[ソース]

条件関数がtrueと評価されている間に本体を計算します。

条件関数はフォームを持ち、Pythonマジックメソッドに応答するオブジェクトを返す必要があります。beg属性は、ループ反復を開始する番号を指定します。cond(visitor=None, node=None)__bool__

パラメーター:
cond : 呼び出し可能

次のループ反復を実行するかどうかを決定する関数。

body : ノードのシーケンス

各反復で実行するノードのリスト。条件関数はフォームを持ち、Pythonマジックメソッドに応答するオブジェクトを返す必要があります。cond(visitor=None, node=None)__bool__

idxname : str、オプション

インデックスの変数名。

beg : int、optional

パス書式文字列を評価するときの最初のインデックス値。

パス : strまたはstrのシーケンス、オプション

ストレージオブジェクト内のパス。

attrs=( 'cond'、 'body'、 'idxname'、 'beg'、 'path')
クラスxonsh.wizard.Wizard(children、path = None )[ソース]

ツリー内のトップレベルノード。

attrs=( 'children'、 'path')
クラスxonsh.wizard.YesNo(質問、はい、いいえ、パス=なし)[ソース]

単純なイエス/ノーの質問を表します。

パラメーター:
質問 : str

質問そのもの。

はい : ノード

応答がTrueの場合に実行するノード。

いいえ : ノード

応答がFalseの場合に実行するノード。

パス : strまたはstrのシーケンス、オプション

ストレージオブジェクト内のパス。

attrs=( 'question'、 'responses'、 'converter'、 'path')
xonsh.wizard.canon_path(path、indices = None )[ソース]

strまたはintのタプルであるパスの標準形式を返します。インデックスはオプションで渡すことができます。

xonsh.wizard.create_truefalse_cond(prompt = 'yesまたはno [デフォルト:no]?'、path = None )[ソース]

これにより、Whileやその他の条件などのノードで使用するための基本条件関数が作成されます。条件関数はTrueFalseノードを作成して訪問し、その結果を返します。このTrueFalseノードは、ここで渡されるプロンプトとパスを受け取ります。

xonsh.wizard.ensure_str_or_int(x )[ソース]

文字列またはintを作成します。