ユーティリティ

内部のサブルーチンで、例えば、エラーメッセージをともなった実行の中止や複数行でのインデントの実施などです。

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 ループなど)。そのようなユースケースではたいていは行末なしを要求されるので(進捗を示すドットの連なりなど)、デフォルトでは伝統的な改行を含めません。

注釈

fastprintputs を呼び出すので、同様に user output level に依存します。

バージョン 0.9.2 で追加.

参考

puts

fabric.utils.indent(text, spaces=4, strip=False)

与えられたスペースの数でインデントされた text を返します。

テキストが文字列ではない場合、行のリストとしてみなされ、インデントの前に \n によって結合されます。

stripTrue の時、与えられた文字列の左側から最小限の空白スペースが取り除かれます(そのため、相対的なインデントは維持されますが、その他は左側が取り除かれます)。これにより、入力によっては、それまでのインデントを実質的にすべて "正規化" されます。

fabric.utils.isatty(stream)

Check if a stream is a tty.

Not all file-like objects implement the isatty method.

fabric.utils.puts(text, show_prefix=None, end='\n', flush=False)

print のエイリアスで、その出力はFabricの出力コントロールによって管理されます。

つまり、この関数は単に `` sys.stdout`` に出力しますが、その `` user`` の output levelFalse に設定されている場合、その出力を非表示にします。

``s​​how_prefix = False`` の場合、 puts はデフォルトで付加される先頭の [hostname] を省略します。(env.host_string が空の場合にもこの接頭を省略します)

改行は end に空の文字列 ('') をセットすることで無効にすることができます。(これは意図的にPythonの3の print 構文を反映させてものです)

flush=True をセットすることで強制的に出力をフラッシュすることができます(例えば出力のバッファリングをバイパスするため)。

バージョン 0.9.2 で追加.

参考

fastprint

fabric.utils.warn(msg)

警告メッセージを出力しますが、実行は中止されません。

この機能はFabricの output controls を優先し、与えられた msg を標準エラー出力に出力され、 warnings 出力レベル(デフォルトで有効)がオンで提供されます、