2009-09-02 10 views
11

स्फिंक्स में automethod नामक एक सुविधा है जो दस्तावेज़ के दस्तावेज़ से दस्तावेज निकालती है और दस्तावेज़ीकरण में एम्बेड करती है। लेकिन यह न केवल डॉकस्ट्रिंग को एम्बेड करता है, बल्कि विधि हस्ताक्षर (नाम + तर्क) भी एम्बेड करता है। मैं केवल डॉकस्ट्रिंग (विधि हस्ताक्षर को छोड़कर) कैसे एम्बेड करूं?शो * केवल * स्पिंक्स प्रलेखन में डॉकस्ट्रिंग

रेफरी: http://sphinx.pocoo.org/ext/autodoc.html

उत्तर

17

मुझे लगता है कि आप के लिए देख रहे हैं:

from sphinx.ext import autodoc 

class DocsonlyMethodDocumenter(autodoc.MethodDocumenter): 
    def format_args(self): 
    return None 

autodoc.add_documenter(DocsonlyMethodDocumenter) 

the current sources प्रति इस अधिभावी क्या वर्ग तरीकों का दस्तावेजीकरण के लिए जिम्मेदार है (add_documenter के पुराने संस्करणों में इस तरह के ओवरराइड मना अनुमति चाहिए, लेकिन अब उन्हें स्पष्ट रूप से अनुमति दी गई है)। format_args वापसी होने के बावजूद, कोई भी नहीं, "हस्ताक्षर से परेशान न करें" कहने के लिए autodoc में प्रलेखित तरीका है।

मुझे लगता है कि यह कार्य करने के लिए यह साफ, वास्तुशिल्प तरीका है, और, जैसे, बंदर विकल्पों को बंद करने के लिए बेहतर है। यदि आपको sphinx के कुछ पुराने संस्करणों के साथ रहने की आवश्यकता है, तो आपको वास्तव में बंदरगाह (autodoc.MethodDocumenter.format_args=lambda _:None - eek!)) हो सकता है, हालांकि मैं आपके विशिष्ट परिनियोजन में सभी व्यवहार्य होने पर बेहतर संस्करण के रूप में sphinx को उन्नत संस्करण में अपग्रेड करने की अनुशंसा करता हूं।

+1

+1 स्फिंक्स 1.1 में एक दस्तावेज़कर्ता जोड़ने में मामूली वाक्यविन्यास परिवर्तन होता है http://stackoverflow.com/questions/7825263/including-docstring-in-sphinx- दस्तावेज – geographika

संबंधित मुद्दे