ドキュメントヘルパー¶
-
fabric.docs.
unwrap_tasks
(module, hide_nontasks=False)¶ モジュール
上のタスクオブジェクトをラップされた関数に置き換えます。特に
WrappedCallableTask
のインスタンスを探し、その.wrapped
属性(元のデコレートされた関数)と置き換えます。これはSphinxのautodocツールとともに使用するよう意図されていて、プロジェクトの
conf.py
の最後のほうで実行されます。autodoc拡張機能が関数シグネチャなどにおける "実際の" 関数に対して完全なアクセスを確実に持つようにします。unwrap_tasks
利用なしではautodocは関数シグネチャにアクセスできません(__doc__
などで見ることはできますが)。例えば、
conf.py
の最後の方で:from fabric.docs import unwrap_tasks import my_package.my_fabfile unwrap_tasks(my_package.my_fabfile)
それ以上のことも可能です。
hide_nontasks=True
と指定することによってタスク以外のすべての関数を明示的に 隠す ことができます。これによりすべてのオブジェクトで "これはタスク?" のチェックに失敗するようになり、そのためプライベートのように見え、その結果autodocはこれらをスキップします。したがって、
hide_nontasks
は、fabfileに実際のタスクを持つサブルーチンが入っていて、本当のタスク だけ をドキュメント化したいときに便利です。もし実際のセッションを使用しているFabricコード内で(Sphinxの
conf.py
内ではなく)これを実行するのなら、すぐに病院で診てもらってください。参考
WrappedCallableTask
,task