eric7/DocumentationTools/ModuleDocumentor.py

branch
eric7
changeset 8596
d64760b2da50
parent 8312
800c432b34c8
child 8598
0460087da31b
equal deleted inserted replaced
8595:ce2034bc1c6e 8596:d64760b2da50
15 import re 15 import re
16 import contextlib 16 import contextlib
17 17
18 from Utilities import html_uencode 18 from Utilities import html_uencode
19 from Utilities.ModuleParser import RB_SOURCE, Function 19 from Utilities.ModuleParser import RB_SOURCE, Function
20
21 from . import TemplatesListsStyleCSS
20 22
21 _signal = re.compile( 23 _signal = re.compile(
22 r""" 24 r"""
23 ^@signal [ \t]+ 25 ^@signal [ \t]+
24 (?P<SignalName1> 26 (?P<SignalName1>
58 60
59 class ModuleDocument: 61 class ModuleDocument:
60 """ 62 """
61 Class implementing the builtin documentation generator. 63 Class implementing the builtin documentation generator.
62 """ 64 """
63 def __init__(self, module, colors, stylesheet=None): 65 def __init__(self, module):
64 """ 66 """
65 Constructor 67 Constructor
66 68
67 @param module the information of the parsed Python file 69 @param outputDir The output directory for the files
68 @param colors dictionary specifying the various colors for the output 70 @type str
69 (dictionary of strings)
70 @param stylesheet the style to be used for the generated pages (string)
71 """ 71 """
72 self.module = module 72 self.module = module
73 self.empty = True 73 self.empty = True
74 74
75 self.stylesheet = stylesheet 75 # TODO: replace these assignments
76 76 self.headerTemplate = TemplatesListsStyleCSS.headerTemplate
77 if self.stylesheet: 77 self.footerTemplate = TemplatesListsStyleCSS.footerTemplate
78 from . import TemplatesListsStyleCSS 78 self.moduleTemplate = TemplatesListsStyleCSS.moduleTemplate
79 self.headerTemplate = TemplatesListsStyleCSS.headerTemplate 79 self.rbFileTemplate = TemplatesListsStyleCSS.rbFileTemplate
80 self.footerTemplate = TemplatesListsStyleCSS.footerTemplate 80 self.classTemplate = TemplatesListsStyleCSS.classTemplate
81 self.moduleTemplate = TemplatesListsStyleCSS.moduleTemplate 81 self.methodTemplate = TemplatesListsStyleCSS.methodTemplate
82 self.rbFileTemplate = TemplatesListsStyleCSS.rbFileTemplate 82 self.constructorTemplate = (
83 self.classTemplate = TemplatesListsStyleCSS.classTemplate 83 TemplatesListsStyleCSS.constructorTemplate)
84 self.methodTemplate = TemplatesListsStyleCSS.methodTemplate 84 self.rbModuleTemplate = TemplatesListsStyleCSS.rbModuleTemplate
85 self.constructorTemplate = ( 85 self.rbModulesClassTemplate = (
86 TemplatesListsStyleCSS.constructorTemplate) 86 TemplatesListsStyleCSS.rbModulesClassTemplate)
87 self.rbModuleTemplate = TemplatesListsStyleCSS.rbModuleTemplate 87 self.functionTemplate = TemplatesListsStyleCSS.functionTemplate
88 self.rbModulesClassTemplate = ( 88 self.listTemplate = TemplatesListsStyleCSS.listTemplate
89 TemplatesListsStyleCSS.rbModulesClassTemplate) 89 self.listEntryTemplate = TemplatesListsStyleCSS.listEntryTemplate
90 self.functionTemplate = TemplatesListsStyleCSS.functionTemplate 90 self.listEntryNoneTemplate = (
91 self.listTemplate = TemplatesListsStyleCSS.listTemplate 91 TemplatesListsStyleCSS.listEntryNoneTemplate)
92 self.listEntryTemplate = TemplatesListsStyleCSS.listEntryTemplate 92 self.listEntryDeprecatedTemplate = (
93 self.listEntryNoneTemplate = ( 93 TemplatesListsStyleCSS.listEntryDeprecatedTemplate)
94 TemplatesListsStyleCSS.listEntryNoneTemplate) 94 self.listEntrySimpleTemplate = (
95 self.listEntryDeprecatedTemplate = ( 95 TemplatesListsStyleCSS.listEntrySimpleTemplate)
96 TemplatesListsStyleCSS.listEntryDeprecatedTemplate) 96 self.paragraphTemplate = TemplatesListsStyleCSS.paragraphTemplate
97 self.listEntrySimpleTemplate = ( 97 self.parametersListTemplate = (
98 TemplatesListsStyleCSS.listEntrySimpleTemplate) 98 TemplatesListsStyleCSS.parametersListTemplate)
99 self.paragraphTemplate = TemplatesListsStyleCSS.paragraphTemplate 99 self.parameterTypesListEntryTemplate = (
100 self.parametersListTemplate = ( 100 TemplatesListsStyleCSS.parameterTypesListEntryTemplate)
101 TemplatesListsStyleCSS.parametersListTemplate) 101 self.parametersListEntryTemplate = (
102 self.parameterTypesListEntryTemplate = ( 102 TemplatesListsStyleCSS.parametersListEntryTemplate)
103 TemplatesListsStyleCSS.parameterTypesListEntryTemplate) 103 self.returnsTemplate = TemplatesListsStyleCSS.returnsTemplate
104 self.parametersListEntryTemplate = ( 104 self.returnTypesTemplate = (
105 TemplatesListsStyleCSS.parametersListEntryTemplate) 105 TemplatesListsStyleCSS.returnTypesTemplate)
106 self.returnsTemplate = TemplatesListsStyleCSS.returnsTemplate 106 self.yieldsTemplate = TemplatesListsStyleCSS.yieldsTemplate
107 self.returnTypesTemplate = ( 107 self.yieldTypesTemplate = (
108 TemplatesListsStyleCSS.returnTypesTemplate) 108 TemplatesListsStyleCSS.yieldTypesTemplate)
109 self.yieldsTemplate = TemplatesListsStyleCSS.yieldsTemplate 109 self.exceptionsListTemplate = (
110 self.yieldTypesTemplate = ( 110 TemplatesListsStyleCSS.exceptionsListTemplate)
111 TemplatesListsStyleCSS.yieldTypesTemplate) 111 self.exceptionsListEntryTemplate = (
112 self.exceptionsListTemplate = ( 112 TemplatesListsStyleCSS.exceptionsListEntryTemplate)
113 TemplatesListsStyleCSS.exceptionsListTemplate) 113 self.signalsListTemplate = (
114 self.exceptionsListEntryTemplate = ( 114 TemplatesListsStyleCSS.signalsListTemplate)
115 TemplatesListsStyleCSS.exceptionsListEntryTemplate) 115 self.signalsListEntryTemplate = (
116 self.signalsListTemplate = ( 116 TemplatesListsStyleCSS.signalsListEntryTemplate)
117 TemplatesListsStyleCSS.signalsListTemplate) 117 self.eventsListTemplate = TemplatesListsStyleCSS.eventsListTemplate
118 self.signalsListEntryTemplate = ( 118 self.eventsListEntryTemplate = (
119 TemplatesListsStyleCSS.signalsListEntryTemplate) 119 TemplatesListsStyleCSS.eventsListEntryTemplate)
120 self.eventsListTemplate = TemplatesListsStyleCSS.eventsListTemplate 120 self.deprecatedTemplate = TemplatesListsStyleCSS.deprecatedTemplate
121 self.eventsListEntryTemplate = ( 121 self.authorInfoTemplate = TemplatesListsStyleCSS.authorInfoTemplate
122 TemplatesListsStyleCSS.eventsListEntryTemplate) 122 self.seeListTemplate = TemplatesListsStyleCSS.seeListTemplate
123 self.deprecatedTemplate = TemplatesListsStyleCSS.deprecatedTemplate 123 self.seeListEntryTemplate = (
124 self.authorInfoTemplate = TemplatesListsStyleCSS.authorInfoTemplate 124 TemplatesListsStyleCSS.seeListEntryTemplate)
125 self.seeListTemplate = TemplatesListsStyleCSS.seeListTemplate 125 self.seeLinkTemplate = TemplatesListsStyleCSS.seeLinkTemplate
126 self.seeListEntryTemplate = ( 126 self.sinceInfoTemplate = TemplatesListsStyleCSS.sinceInfoTemplate
127 TemplatesListsStyleCSS.seeListEntryTemplate)
128 self.seeLinkTemplate = TemplatesListsStyleCSS.seeLinkTemplate
129 self.sinceInfoTemplate = TemplatesListsStyleCSS.sinceInfoTemplate
130 else:
131 from . import TemplatesListsStyle
132 self.headerTemplate = (
133 TemplatesListsStyle.headerTemplate.format(**colors))
134 self.footerTemplate = (
135 TemplatesListsStyle.footerTemplate.format(**colors))
136 self.moduleTemplate = (
137 TemplatesListsStyle.moduleTemplate.format(**colors))
138 self.rbFileTemplate = (
139 TemplatesListsStyle.rbFileTemplate.format(**colors))
140 self.classTemplate = (
141 TemplatesListsStyle.classTemplate.format(**colors))
142 self.methodTemplate = (
143 TemplatesListsStyle.methodTemplate.format(**colors))
144 self.constructorTemplate = (
145 TemplatesListsStyle.constructorTemplate.format(**colors))
146 self.rbModuleTemplate = (
147 TemplatesListsStyle.rbModuleTemplate.format(**colors))
148 self.rbModulesClassTemplate = (
149 TemplatesListsStyle.rbModulesClassTemplate.format(**colors))
150 self.functionTemplate = (
151 TemplatesListsStyle.functionTemplate.format(**colors))
152 self.listTemplate = (
153 TemplatesListsStyle.listTemplate.format(**colors))
154 self.listEntryTemplate = (
155 TemplatesListsStyle.listEntryTemplate.format(**colors))
156 self.listEntryNoneTemplate = (
157 TemplatesListsStyle.listEntryNoneTemplate.format(**colors))
158 self.listEntryDeprecatedTemplate = (
159 TemplatesListsStyle.listEntryDeprecatedTemplate.format(
160 **colors))
161 self.listEntrySimpleTemplate = (
162 TemplatesListsStyle.listEntrySimpleTemplate.format(**colors))
163 self.paragraphTemplate = (
164 TemplatesListsStyle.paragraphTemplate.format(**colors))
165 self.parametersListTemplate = (
166 TemplatesListsStyle.parametersListTemplate.format(**colors))
167 self.parametersListEntryTemplate = (
168 TemplatesListsStyle.parametersListEntryTemplate.format(
169 **colors))
170 self.parameterTypesListEntryTemplate = (
171 TemplatesListsStyle.parameterTypesListEntryTemplate.format(
172 **colors))
173 self.returnsTemplate = (
174 TemplatesListsStyle.returnsTemplate.format(**colors))
175 self.returnTypesTemplate = (
176 TemplatesListsStyle.returnTypesTemplate.format(**colors))
177 self.yieldsTemplate = (
178 TemplatesListsStyle.yieldsTemplate.format(**colors))
179 self.yieldTypesTemplate = (
180 TemplatesListsStyle.yieldTypesTemplate.format(**colors))
181 self.exceptionsListTemplate = (
182 TemplatesListsStyle.exceptionsListTemplate.format(**colors))
183 self.exceptionsListEntryTemplate = (
184 TemplatesListsStyle.exceptionsListEntryTemplate.format(
185 **colors))
186 self.signalsListTemplate = (
187 TemplatesListsStyle.signalsListTemplate.format(**colors))
188 self.signalsListEntryTemplate = (
189 TemplatesListsStyle.signalsListEntryTemplate.format(**colors))
190 self.eventsListTemplate = (
191 TemplatesListsStyle.eventsListTemplate.format(**colors))
192 self.eventsListEntryTemplate = (
193 TemplatesListsStyle.eventsListEntryTemplate.format(**colors))
194 self.deprecatedTemplate = (
195 TemplatesListsStyle.deprecatedTemplate.format(**colors))
196 self.authorInfoTemplate = (
197 TemplatesListsStyle.authorInfoTemplate.format(**colors))
198 self.seeListTemplate = (
199 TemplatesListsStyle.seeListTemplate.format(**colors))
200 self.seeListEntryTemplate = (
201 TemplatesListsStyle.seeListEntryTemplate.format(**colors))
202 self.seeLinkTemplate = (
203 TemplatesListsStyle.seeLinkTemplate.format(**colors))
204 self.sinceInfoTemplate = (
205 TemplatesListsStyle.sinceInfoTemplate.format(**colors))
206 127
207 self.keywords = [] 128 self.keywords = []
208 # list of tuples containing the name (string) and 129 # list of tuples containing the name (string) and
209 # the ref (string). The ref is without the filename part. 130 # the ref (string). The ref is without the filename part.
210 self.generated = False 131 self.generated = False
252 173
253 @return The source code documentation. (string) 174 @return The source code documentation. (string)
254 """ 175 """
255 doc = ( 176 doc = (
256 self.headerTemplate.format( 177 self.headerTemplate.format(
257 **{'Title': self.module.name, 178 **{'Title': self.module.name}
258 'Style': self.stylesheet}
259 ) + 179 ) +
260 self.__genModuleSection() + 180 self.__genModuleSection() +
261 self.footerTemplate 181 self.footerTemplate
262 ) 182 )
263 self.generated = True 183 self.generated = True

eric ide

mercurial