ユーティリティ¶
内部のサブルーチンで、例えば、エラーメッセージをともなった実行の中止や複数行でのインデントの実施などです。
-
class
fabric.utils.RingBuffer(value, maxlen)¶ -
__init__(value, maxlen)¶ x.__init__(...) initializes x; see help(type(x)) for signature
-
__setitem__(key, value)¶ x.__setitem__(i, y) <==> x[i]=y
-
__setslice__(i, j, sequence)¶ x.__setslice__(i, j, y) <==> x[i:j]=y
Use of negative indices is not supported.
-
__weakref__¶ list of weak references to the object (if defined)
-
append(value)¶ L.append(object) -- append object to end
-
extend(values)¶ L.extend(iterable) -- extend list by appending elements from the iterable
-
insert(index, value)¶ L.insert(index, object) -- insert object before index
-
-
fabric.utils.abort(msg)¶ 実行の中止で、標準エラー出力に
msgをプリントしエラーステータス (1) で終了します。この機能はいまのところ sys.exit を利用していて、これにより SystemExit を発生させます。したがって、
except SystemExitもしくは類似のものを利用してabortへの内部の呼び出しから検知、回復することが可能です。
-
fabric.utils.error(message, func=None, exception=None, stdout=None, stderr=None)¶ 与えられたエラー
messageとともにfuncを呼び出します。funcが None (デフォルト) のとき、env.warn_onlyの値がabortもしくはwarnのどちらを呼び出すかを決定します。exceptionが与えられた場合、文字列メッセージを得るために点検され、ユーザーが生成したmessageとともに表示されます。stdoutおよび/もしくはstderrが与えられた場合、それらは表示するための文字列であるとみなされます。
-
fabric.utils.fastprint(text, show_prefix=False, end='', flush=True)¶ textを直ちに、どのようなプリフィックスや行末もなしで表示します。この機能は異なるデフォルト値を持つ
putsの単純なエイリアスで、例えばtextは一切の装飾なしで表示され、直ちにフラッシュされます。表示するときにPythonの出力バッファリングによってバッファされてしまうかもしれないテキストを表示させたいときに役に立ちます(プロセッサに集中する
forループなど)。そのようなユースケースではたいていは行末なしを要求されるので(進捗を示すドットの連なりなど)、デフォルトでは伝統的な改行を含めません。注釈
fastprintはputsを呼び出すので、同様にuseroutput level に依存します。バージョン 0.9.2 で追加.
参考
-
fabric.utils.indent(text, spaces=4, strip=False)¶ 与えられたスペースの数でインデントされた
textを返します。テキストが文字列ではない場合、行のリストとしてみなされ、インデントの前に
\nによって結合されます。stripがTrueの時、与えられた文字列の左側から最小限の空白スペースが取り除かれます(そのため、相対的なインデントは維持されますが、その他は左側が取り除かれます)。これにより、入力によっては、それまでのインデントを実質的にすべて "正規化" されます。
-
fabric.utils.isatty(stream)¶ Check if a stream is a tty.
Not all file-like objects implement the
isattymethod.
-
fabric.utils.puts(text, show_prefix=None, end='\n', flush=False)¶ printのエイリアスで、その出力はFabricの出力コントロールによって管理されます。つまり、この関数は単に `` sys.stdout`` に出力しますが、その `` user`` の output level が
Falseに設定されている場合、その出力を非表示にします。``show_prefix = False`` の場合、
putsはデフォルトで付加される先頭の[hostname]を省略します。(env.host_stringが空の場合にもこの接頭を省略します)改行は
endに空の文字列 ('') をセットすることで無効にすることができます。(これは意図的にPythonの3のprint構文を反映させてものです)flush=Trueをセットすることで強制的に出力をフラッシュすることができます(例えば出力のバッファリングをバイパスするため)。バージョン 0.9.2 で追加.
参考
-
fabric.utils.warn(msg)¶ 警告メッセージを出力しますが、実行は中止されません。
この機能はFabricの output controls を優先し、与えられた
msgを標準エラー出力に出力され、warnings出力レベル(デフォルトで有効)がオンで提供されます、