1 | from __future__ import with_statement |
---|
2 | import os.path |
---|
3 | |
---|
4 | MODULE_TEMPLATE = """.. Autogenerated by genmods.py |
---|
5 | |
---|
6 | ****************************************************************************** |
---|
7 | %(name)s |
---|
8 | ****************************************************************************** |
---|
9 | |
---|
10 | :mod:`%(package)s.%(module)s` |
---|
11 | ============================================================================== |
---|
12 | |
---|
13 | .. automodule:: %(package)s.%(module)s |
---|
14 | :members: |
---|
15 | :undoc-members: |
---|
16 | :inherited-members: |
---|
17 | :show-inheritance: |
---|
18 | |
---|
19 | """ |
---|
20 | |
---|
21 | INDEX_TEMPLATE = """.. Autogenerated by genmods.py |
---|
22 | |
---|
23 | .. _api-index: |
---|
24 | |
---|
25 | ############################################################################## |
---|
26 | %(package_name)s |
---|
27 | ############################################################################## |
---|
28 | |
---|
29 | .. only:: html |
---|
30 | |
---|
31 | :Release: |version| |
---|
32 | :Date: |today| |
---|
33 | |
---|
34 | .. toctree:: |
---|
35 | :titlesonly: |
---|
36 | :numbered: 1 |
---|
37 | :maxdepth: 2 |
---|
38 | |
---|
39 | %(rsts)s |
---|
40 | """ |
---|
41 | |
---|
42 | |
---|
43 | def genfiles(package, package_name, modules, dir='api'): |
---|
44 | |
---|
45 | if not os.path.exists(dir): |
---|
46 | os.makedirs(dir) |
---|
47 | |
---|
48 | for module, name in modules: |
---|
49 | with open(os.path.join(dir, module+'.rst'), 'w') as f: |
---|
50 | f.write(MODULE_TEMPLATE%locals()) |
---|
51 | |
---|
52 | rsts = "\n ".join(module+'.rst' for module, name in modules) |
---|
53 | with open(os.path.join(dir, 'index.rst'), 'w') as f: |
---|
54 | f.write(INDEX_TEMPLATE%locals()) |
---|
55 | |
---|
56 | |
---|
57 | modules = [ |
---|
58 | ('__init__', 'Sasmodels package'), |
---|
59 | #('alignment', 'GPU data alignment [unused]'), |
---|
60 | ('bumps_model', 'Bumps interface'), |
---|
61 | ('compare', 'Compare models on different compute engines'), |
---|
62 | ('compare_many', 'Batch compare models on different compute engines'), |
---|
63 | ('conversion_table', 'Model conversion table'), |
---|
64 | ('convert', 'Sasview to sasmodel converter'), |
---|
65 | ('core', 'Model access'), |
---|
66 | ('data', 'Data layout and plotting routines'), |
---|
67 | ('details', 'Parameter packing for kernel calls'), |
---|
68 | ('direct_model', 'Simple interface'), |
---|
69 | ('exception', 'Annotate exceptions'), |
---|
70 | ('generate', 'Model parser'), |
---|
71 | ('kernel', 'Evaluator type definitions'), |
---|
72 | ('kernelcl', 'OpenCL model evaluator'), |
---|
73 | ('kerneldll', 'Ctypes model evaluator'), |
---|
74 | ('kernelpy', 'Python model evaluator'), |
---|
75 | ('list_pars', 'Identify all parameters in all models'), |
---|
76 | ('mixture', 'Mixture model evaluator'), |
---|
77 | ('model_test', 'Unit test support'), |
---|
78 | ('modelinfo', 'Parameter and model definitions'), |
---|
79 | ('product', 'Product model evaluator'), |
---|
80 | ('resolution', '1-D resolution functions'), |
---|
81 | ('resolution2d', '2-D resolution functions'), |
---|
82 | ('rst2html', 'Convert doc strings the web pages'), |
---|
83 | ('sasview_model', 'Sasview interface'), |
---|
84 | ('sesans', 'SESANS calculation routines'), |
---|
85 | ('special', 'Special functions library'), |
---|
86 | ('weights', 'Distribution functions'), |
---|
87 | ] |
---|
88 | package = 'sasmodels' |
---|
89 | package_name = 'Reference' |
---|
90 | genfiles(package, package_name, modules) |
---|