35 "subpackages": {}, |
35 "subpackages": {}, |
36 "modules": {} |
36 "modules": {} |
37 } |
37 } |
38 } |
38 } |
39 self.remembered = False |
39 self.remembered = False |
40 |
40 |
41 # TODO: replace these assignments |
|
42 self.headerTemplate = TemplatesListsStyleCSS.headerTemplate |
|
43 self.footerTemplate = TemplatesListsStyleCSS.footerTemplate |
|
44 self.indexBodyTemplate = TemplatesListsStyleCSS.indexBodyTemplate |
|
45 self.indexListPackagesTemplate = ( |
|
46 TemplatesListsStyleCSS.indexListPackagesTemplate) |
|
47 self.indexListModulesTemplate = ( |
|
48 TemplatesListsStyleCSS.indexListModulesTemplate) |
|
49 self.indexListEntryTemplate = ( |
|
50 TemplatesListsStyleCSS.indexListEntryTemplate) |
|
51 |
|
52 def remember(self, file, moduleDocument, basename=""): |
41 def remember(self, file, moduleDocument, basename=""): |
53 """ |
42 """ |
54 Public method to remember a documentation file. |
43 Public method to remember a documentation file. |
55 |
44 |
56 @param file The filename to be remembered. (string) |
45 @param file The filename to be remembered. (string) |
121 subpacks = package["subpackages"] |
110 subpacks = package["subpackages"] |
122 names = sorted(list(subpacks.keys())) |
111 names = sorted(list(subpacks.keys())) |
123 lst = [] |
112 lst = [] |
124 for name in names: |
113 for name in names: |
125 link = joinext("index-{0}".format(name), ".html") |
114 link = joinext("index-{0}".format(name), ".html") |
126 lst.append(self.indexListEntryTemplate.format(**{ |
115 lst.append( |
127 "Description": subpacks[name], |
116 TemplatesListsStyleCSS.indexListEntryTemplate.format(**{ |
128 "Name": name.split(".")[-1], |
117 "Description": subpacks[name], |
129 "Link": link, |
118 "Name": name.split(".")[-1], |
130 })) |
119 "Link": link, |
131 subpackages = self.indexListPackagesTemplate.format(**{ |
120 }) |
132 "Entries": "".join(lst), |
121 ) |
133 }) |
122 subpackages = ( |
|
123 TemplatesListsStyleCSS.indexListPackagesTemplate.format(**{ |
|
124 "Entries": "".join(lst), |
|
125 }) |
|
126 ) |
134 |
127 |
135 # 2) modules |
128 # 2) modules |
136 if package["modules"]: |
129 if package["modules"]: |
137 mods = package["modules"] |
130 mods = package["modules"] |
138 names = sorted(list(mods.keys())) |
131 names = sorted(list(mods.keys())) |
140 for name in names: |
133 for name in names: |
141 link = joinext(name, ".html") |
134 link = joinext(name, ".html") |
142 nam = name.split(".")[-1] |
135 nam = name.split(".")[-1] |
143 if nam == "__init__": |
136 if nam == "__init__": |
144 nam = name.split(".")[-2] |
137 nam = name.split(".")[-2] |
145 lst.append(self.indexListEntryTemplate.format(**{ |
138 lst.append( |
146 "Description": mods[name], |
139 TemplatesListsStyleCSS.indexListEntryTemplate.format(**{ |
147 "Name": nam, |
140 "Description": mods[name], |
148 "Link": link, |
141 "Name": nam, |
149 })) |
142 "Link": link, |
150 modules = self.indexListModulesTemplate.format(**{ |
143 }) |
151 "Entries": "".join(lst), |
144 ) |
152 }) |
145 modules = ( |
|
146 TemplatesListsStyleCSS.indexListModulesTemplate.format(**{ |
|
147 "Entries": "".join(lst), |
|
148 }) |
|
149 ) |
153 |
150 |
154 doc = ( |
151 doc = ( |
155 self.headerTemplate.format( |
152 TemplatesListsStyleCSS.headerTemplate.format( |
156 **{"Title": title} |
153 **{"Title": title} |
157 ) + self.indexBodyTemplate.format( |
154 ) + TemplatesListsStyleCSS.indexBodyTemplate.format( |
158 **{"Title": title, |
155 **{"Title": title, |
159 "Description": package["description"], |
156 "Description": package["description"], |
160 "Subpackages": subpackages, |
157 "Subpackages": subpackages, |
161 "Modules": modules} |
158 "Modules": modules} |
162 ) + self.footerTemplate |
159 ) + TemplatesListsStyleCSS.footerTemplate |
163 ) |
160 ) |
164 |
161 |
165 with open(filename, "w", encoding="utf-8", newline=newline) as f: |
162 with open(filename, "w", encoding="utf-8", newline=newline) as f: |
166 f.write(doc) |
163 f.write(doc) |
167 |
164 |