104 except KeyError: |
104 except KeyError: |
105 elt = self.packages["00index"] |
105 elt = self.packages["00index"] |
106 elt["modules"][moduleDocument.name()] = \ |
106 elt["modules"][moduleDocument.name()] = \ |
107 moduleDocument.shortDescription() |
107 moduleDocument.shortDescription() |
108 |
108 |
109 def __writeIndex(self, packagename, package): |
109 def __writeIndex(self, packagename, package, newline = None): |
110 """ |
110 """ |
111 Private method to generate an index file for a package. |
111 Private method to generate an index file for a package. |
112 |
112 |
113 @param packagename The name of the package. (string) |
113 @param packagename The name of the package. (string) |
114 @param package A dictionary with information about the package. |
114 @param package A dictionary with information about the package. |
|
115 @param newline newline character to be used (string) |
115 @return The name of the generated index file. |
116 @return The name of the generated index file. |
116 """ |
117 """ |
117 if packagename == "00index": |
118 if packagename == "00index": |
118 f = os.path.join(self.outputDir, "index") |
119 f = os.path.join(self.outputDir, "index") |
119 title = "Table of contents" |
120 title = "Table of contents" |
170 "Subpackages" : subpackages, |
171 "Subpackages" : subpackages, |
171 "Modules" : modules, |
172 "Modules" : modules, |
172 } + \ |
173 } + \ |
173 self.footerTemplate |
174 self.footerTemplate |
174 |
175 |
175 f = open(filename, "w", encoding = "utf-8") |
176 f = open(filename, "w", encoding = "utf-8", newline = newline) |
176 f.write(doc) |
177 f.write(doc) |
177 f.close() |
178 f.close() |
178 |
179 |
179 return filename |
180 return filename |
180 |
181 |
181 def writeIndices(self, basename = ""): |
182 def writeIndices(self, basename = "", newline = None): |
182 """ |
183 """ |
183 Public method to generate all index files. |
184 Public method to generate all index files. |
184 |
185 |
185 @param basename The basename of the file hierarchy to be documented. |
186 @param basename The basename of the file hierarchy to be documented. |
186 The basename is stripped off the filename if it starts with |
187 The basename is stripped off the filename if it starts with |
187 the basename. |
188 the basename. |
|
189 @param newline newline character to be used (string) |
188 """ |
190 """ |
189 if not self.remembered: |
191 if not self.remembered: |
190 sys.stderr.write("No index to generate.\n") |
192 sys.stderr.write("No index to generate.\n") |
191 return |
193 return |
192 |
194 |
196 basename = "%s." % basename |
198 basename = "%s." % basename |
197 for package, element in list(self.packages.items()): |
199 for package, element in list(self.packages.items()): |
198 try: |
200 try: |
199 if basename: |
201 if basename: |
200 package = package.replace(basename,"") |
202 package = package.replace(basename,"") |
201 out = self.__writeIndex(package, element) |
203 out = self.__writeIndex(package, element, newline) |
202 except IOError as v: |
204 except IOError as v: |
203 sys.stderr.write("%s error: %s\n" % (package, v[1])) |
205 sys.stderr.write("%s error: %s\n" % (package, v[1])) |
204 else: |
206 else: |
205 if out: |
207 if out: |
206 sys.stdout.write("%s ok\n" % out) |
208 sys.stdout.write("%s ok\n" % out) |