2014-09-17 2 views
3

외부 클래스를 확장하는 클래스를 통해 autodoc을 실행하려고합니다.모독 된 클래스를 확장하는 클래스 autodoc

저는 모의 (mock)를 사용하여 가져 오기가 허용됩니다. de.xyz 가져 오기에서 가 스핑크스를 실행 한 후

class extending_class (class_that_is_extended): 
''' 
    docstring 
''' 

을 class_that_is_extended : 그 내용은

나는이 블로그 나 문서에 시도 파이썬 파일은 다음과 같습니다 http://blog.rtwilson.com/how-to-make-your-sphinx-documentation-compile-with-readthedocs-when-youre-using-numpy-and-scipy/

import mock 

MOCK_MODULES = ['de', 'de.xyz', 'de.xyz.class_that_is_extended'] 
for mod_name in MOCK_MODULES: 
    sys.modules[mod_name] = mock.Mock() 

에 설명 된 것을 사용 결과는 클래스 이름과 소스 링크가 표시된다는 것입니다.

"class extends_class (class_that_is_extended) : "클래스를 extends_class (object) 클래스로 변경하면 : sphinx/autodoc은 docstring을 사용하여 문서를 생성합니다.

클래스를 그대로두고 문서에서 문서 문자열을 가져 오는 방법은 무엇입니까?

답변

2

은 apporach는 여기에 게시 사용 :

sys.modules[mod_name] = mock.Mock() 

에 :

sys.modules[mod_name] = mock.Mock(class_that_is_extended=object) 

및 MOCK_MODULES

에서 'de.xyz.class_that_is_extended'제거 Sphinx-doc :automodule: with Mock imports

난 그냥이 줄을 변경

관련 문제