ドキュメントヘルパー¶
-
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