aboutsummaryrefslogtreecommitdiff
path: root/docs/generate_autodocs.py
diff options
context:
space:
mode:
Diffstat (limited to 'docs/generate_autodocs.py')
-rw-r--r--docs/generate_autodocs.py43
1 files changed, 38 insertions, 5 deletions
diff --git a/docs/generate_autodocs.py b/docs/generate_autodocs.py
index 6138287..b2c9fb6 100644
--- a/docs/generate_autodocs.py
+++ b/docs/generate_autodocs.py
@@ -15,7 +15,8 @@ import os
from docutils.statemachine import StringList, ViewList
-from sphinx.ext.autodoc import AutoDirective, ClassDocumenter, Options
+from sphinx.ext.autodoc import (AutoDirective, ClassDocumenter, Options,
+ FunctionDocumenter)
from sphinx.application import Sphinx
from sphinx.environment import BuildEnvironment
@@ -27,14 +28,20 @@ CLASSES = [
'GenSVM'
]
+FUNCTIONS = [
+ 'load_default_grid'
+ ]
+
FULL_NAMES = {
'GenSVM': 'gensvm.core.GenSVM',
- 'GenSVMGridSearchCV': 'gensvm.gridsearch.GenSVMGridSearchCV'
+ 'GenSVMGridSearchCV': 'gensvm.gridsearch.GenSVMGridSearchCV',
+ 'load_default_grid': 'gensvm.gridsearch.load_default_grid'
}
OUTPUT_FILES = {
'GenSVMGridSearchCV': os.path.join(DOCDIR, 'cls_gridsearch.rst'),
- 'GenSVM': os.path.join(DOCDIR, 'cls_gensvm.rst')
+ 'GenSVM': os.path.join(DOCDIR, 'cls_gensvm.rst'),
+ 'load_default_grid': os.path.join(DOCDIR, 'auto_functions.rst')
}
@@ -49,7 +56,7 @@ def load_app():
return app
-def generate_autodoc(app, cls):
+def generate_class_autodoc(app, cls):
ad = AutoDirective(name='autoclass', arguments=[FULL_NAMES[cls]],
options={'noindex': True}, content=StringList([], items=[]),
lineno=0, content_offset=1, block_text='', state=None,
@@ -67,10 +74,36 @@ def generate_autodoc(app, cls):
for line in ad.result:
fid.write(line + '\n')
+
+def generate_func_autodoc(app, func):
+ ad = AutoDirective(name='autofunc', arguments=[FULL_NAMES[func]],
+ options={'noindex': True}, content=StringList([], items=[]),
+ lineno=0, content_offset=1, block_text='', state=None,
+ state_machine=None)
+
+ ad.env = BuildEnvironment(app)
+ ad.genopt = Options(noindex=True)
+ ad.filename_set = set()
+ ad.result = ViewList()
+
+ documenter = FunctionDocumenter(ad, ad.arguments[0])
+ documenter.generate(all_members=True)
+
+ with open(OUTPUT_FILES[func], 'a') as fid:
+ for line in ad.result:
+ fid.write(line + '\n')
+
+
def main():
+ for of in OUTPUT_FILES:
+ fname = OUTPUT_FILES[of]
+ os.unlink(fname)
app = load_app()
for cls in CLASSES:
- generate_autodoc(app, cls)
+ generate_class_autodoc(app, cls)
+ for func in FUNCTIONS:
+ generate_func_autodoc(app, func)
+
if __name__ == '__main__':
main()