eric7/DocumentationTools/IndexGenerator.py

branch
eric7
changeset 8598
0460087da31b
parent 8596
d64760b2da50
child 8761
f05818ae6431
equal deleted inserted replaced
8597:57cdd880326b 8598:0460087da31b
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

eric ide

mercurial