2012-04-27 8 views
5

मेरे पास बड़ी संख्या में पायथन फ़ाइल है और मैं अपने प्रोजेक्ट के लिए सार्वजनिक एपीआई दस्तावेज जेनरेट करना चाहता हूं। एपीआई का हिस्सा हैं जो सभी कार्यों मैं एक सजावट के साथ सजाया है।स्फिंक्स पब्लिक एपीआई दस्तावेज

उदाहरण के लिए

:

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

एक ही कक्षा में अन्य सार्वजनिक तरीके हैं। एपीआई विधियों के साथ कक्षाओं को परिभाषित करने वाली प्रत्येक फाइल के बीच कई फाइलों में फैली हुई है और कुछ विधियों में यह @api सजावट है। मैं केवल सार्वजनिक एपीआई के लिए दस्तावेज़ बनाने के लिए स्फिंक्स को कैसे बता सकता हूं?

उत्तर

3

मैं अपने ही सवाल का जवाब हूँ ... कुछ और खोज की थी के बाद मैंने पाया इस:

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

मूल रूप से आप अपने conf.py फ़ाइल में एक समारोह को परिभाषित कर सकते प्रत्येक सदस्य को देखो और को छोड़ सकते हैं जिनके पास सही सजावट नहीं है।

यहाँ मेरी 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) 

तुम भी एक समारोह के साथ docstring संसाधित कर सकते हैं (इस स्फिंक्स के लिए कॉन्फ़िग फ़ाइल है)।