DocumentationTools/IndexGenerator.py

changeset 12
1d8dd9706f46
parent 0
de9c2efb9d02
child 13
1af94a91f439
equal deleted inserted replaced
11:b0996e4a289e 12:1d8dd9706f46
8 """ 8 """
9 9
10 import sys 10 import sys
11 import os 11 import os
12 12
13 import TemplatesListsStyle 13 from . import TemplatesListsStyle
14 import TemplatesListsStyleCSS 14 from . import TemplatesListsStyleCSS
15 15
16 from Utilities import joinext 16 from Utilities import joinext
17 17
18 class IndexGenerator(object): 18 class IndexGenerator(object):
19 """ 19 """
129 modules = "" 129 modules = ""
130 130
131 # 1) subpackages 131 # 1) subpackages
132 if package["subpackages"]: 132 if package["subpackages"]:
133 subpacks = package["subpackages"] 133 subpacks = package["subpackages"]
134 names = subpacks.keys() 134 names = sorted(list(subpacks.keys()))
135 names.sort()
136 lst = [] 135 lst = []
137 for name in names: 136 for name in names:
138 link = joinext("index-%s" % name, ".html") 137 link = joinext("index-%s" % name, ".html")
139 lst.append(self.indexListEntryTemplate % { 138 lst.append(self.indexListEntryTemplate % {
140 "Description" : subpacks[name], 139 "Description" : subpacks[name],
146 } 145 }
147 146
148 # 2) modules 147 # 2) modules
149 if package["modules"]: 148 if package["modules"]:
150 mods = package["modules"] 149 mods = package["modules"]
151 names = mods.keys() 150 names = sorted(list(mods.keys()))
152 names.sort()
153 lst = [] 151 lst = []
154 for name in names: 152 for name in names:
155 link = joinext(name, ".html") 153 link = joinext(name, ".html")
156 nam = name.split(".")[-1] 154 nam = name.split(".")[-1]
157 if nam == "__init__": 155 if nam == "__init__":
174 "Subpackages" : subpackages, 172 "Subpackages" : subpackages,
175 "Modules" : modules, 173 "Modules" : modules,
176 } + \ 174 } + \
177 self.footerTemplate 175 self.footerTemplate
178 176
179 f = open(filename, "wb") 177 f = open(filename, "w")
180 f.write(doc) 178 f.write(doc)
181 f.close() 179 f.close()
182 180
183 return filename 181 return filename
184 182
196 194
197 if basename: 195 if basename:
198 basename = basename.replace(os.sep, ".") 196 basename = basename.replace(os.sep, ".")
199 if not basename.endswith("."): 197 if not basename.endswith("."):
200 basename = "%s." % basename 198 basename = "%s." % basename
201 for package, element in self.packages.items(): 199 for package, element in list(self.packages.items()):
202 try: 200 try:
203 if basename: 201 if basename:
204 package = package.replace(basename,"") 202 package = package.replace(basename,"")
205 out = self.__writeIndex(package, element) 203 out = self.__writeIndex(package, element)
206 except IOError, v: 204 except IOError as v:
207 sys.stderr.write("%s error: %s\n" % (package, v[1])) 205 sys.stderr.write("%s error: %s\n" % (package, v[1]))
208 else: 206 else:
209 if out: 207 if out:
210 sys.stdout.write("%s ok\n" % out) 208 sys.stdout.write("%s ok\n" % out)
211 209

eric ide

mercurial