2012-04-27 39 views
5

私は多数のPythonファイルを持っています。私は自分のプロジェクトの公開APIドキュメントを生成したいと思います。 apiの一部であるすべての機能は、デコレータで飾っています。例えばSphinx公開APIドキュメント

@api 
def post_comment(comment)" 
    """ Posts a coment 
    """ 
    pass 

同じクラス内の他のパブリックメソッドがあります。 APIは、各ファイルがメソッドを持つクラスを定義するいくつかのファイルに分散され、いくつかのメソッドはこの@apiデコレータを持ちます。 SphinxにパブリックAPI用のドキュメントを生成するように指示するにはどうすればよいですか?

答えて

3

私は自分の質問に答えるよ...いくつかは、より多くの私は、この発見を検索した後:

http://sphinx.pocoo.org/ext/autodoc.html#event-autodoc-skip-member

基本的に、あなたのconf.pyファイル内の関数を定義することができますが、各メンバーを見て、 をスキップすることができます正しいデコレータを持っていないものすべて。ここ

def my_doc_skip(app, what, name, obj, skip, options): 
    if what != "method": 
     return True 

    # if obj is decorated with @api 
    #  return True 
    # return False 

def setup(app): 
    app.connect('autodoc-process-docstring', my_process_docstring) 
    app.connect('autodoc-skip-member', my_doc_skip) 

あなたはまた、機能とドキュメンテーション文字列を処理することができます(これはスフィンクスのための設定ファイルである)私のconf.pyファイルの末尾にはほとんどの例です。

関連する問題