Wed, 08 Nov 2023 17:07:37 +0100
eric7_doc.py
- Replaced the deprecated 'optparse' by 'argparse'.
15
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | #!/usr/bin/env python3 |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | # -*- coding: utf-8 -*- |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
3 | |
9653
e67609152c5e
Updated copyright for 2023.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9646
diff
changeset
|
4 | # Copyright (c) 2003 - 2023 Detlev Offenbach <detlev@die-offenbachs.de> |
15
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | # |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
7 | """ |
7960
e8fc383322f7
Harmonized some user visible strings and changed the term 'eric6' to the more generic 'eric'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
8 | eric Documentation Generator. |
15
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
9 | |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
10 | This is the main Python script of the documentation generator. It is |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
11 | this script that gets called via the source documentation interface. |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
12 | This script can be used via the commandline as well. |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
13 | """ |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
14 | |
10296 | 15 | import argparse |
8596
d64760b2da50
Documentation Generator: streamlined the code to use an external style sheet file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8314
diff
changeset
|
16 | import fnmatch |
d64760b2da50
Documentation Generator: streamlined the code to use an external style sheet file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8314
diff
changeset
|
17 | import glob |
6949
a5255f1ba3f0
setup.py: continued implementing support for setup.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6942
diff
changeset
|
18 | import os |
8596
d64760b2da50
Documentation Generator: streamlined the code to use an external style sheet file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8314
diff
changeset
|
19 | import shutil |
6949
a5255f1ba3f0
setup.py: continued implementing support for setup.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6942
diff
changeset
|
20 | import sys |
a5255f1ba3f0
setup.py: continued implementing support for setup.py.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
6942
diff
changeset
|
21 | |
9473
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9413
diff
changeset
|
22 | from eric7.DocumentationTools import TemplatesListsStyleCSS |
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9413
diff
changeset
|
23 | from eric7.DocumentationTools.Config import eric7docDefaultColors |
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9413
diff
changeset
|
24 | from eric7.DocumentationTools.IndexGenerator import IndexGenerator |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
25 | from eric7.DocumentationTools.ModuleDocumentor import ModuleDocument |
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
26 | from eric7.DocumentationTools.QtHelpGenerator import QtHelpGenerator |
9624
b47dfa7a137d
Refactored the Utilities and Globals modules in order to enhance the maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9576
diff
changeset
|
27 | from eric7.SystemUtilities import FileSystemUtilities, OSUtilities |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
28 | from eric7.UI.Info import Version |
9473
3f23dbf37dbe
Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9413
diff
changeset
|
29 | from eric7.Utilities import ModuleParser |
15
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
30 | |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
31 | # list of supported filename extensions |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
908
diff
changeset
|
32 | supportedExtensions = [".py", ".pyw", ".ptl", ".rb"] |
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
908
diff
changeset
|
33 | |
15
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
34 | |
10296 | 35 | def createArgumentParser(): |
15
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
36 | """ |
10296 | 37 | Function to create an argument parser. |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
38 | |
10296 | 39 | @return created argument parser object |
40 | @rtype argparse.ArgumentParser | |
15
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
41 | """ |
10296 | 42 | parser = argparse.ArgumentParser( |
43 | description="Create source code documentation files.", | |
44 | epilog="Copyright (c) 2004 - 2023 Detlev Offenbach <detlev@die-offenbachs.de>.", | |
45 | add_help=False, | |
46 | ) | |
47 | ||
48 | parser.add_argument( | |
49 | "file", | |
50 | nargs="*", | |
51 | help="'file' can be either python modules, package directories or ordinary" | |
52 | " directories. At least one 'file' argument must be given.", | |
53 | ) | |
54 | parser.add_argument( | |
55 | "-c", | |
56 | "--style-sheet", | |
57 | default="", | |
58 | help="Specify a CSS style sheet file to be used.", | |
59 | ) | |
60 | parser.add_argument( | |
61 | "-e", | |
62 | "--no-empty", | |
63 | action="store_true", | |
64 | help="Don't include empty modules.", | |
65 | ) | |
66 | parser.add_argument( | |
67 | "--eol", | |
68 | choices=["cr", "lf", "crlf"], | |
69 | help="Use the given eol type to terminate lines.", | |
70 | ) | |
71 | parser.add_argument( | |
72 | "--exclude-file", | |
73 | action="append", | |
74 | default=[], | |
75 | help="Specify a filename pattern of files to be excluded. This option may be" | |
76 | " repeated multiple times.", | |
77 | ) | |
78 | parser.add_argument( | |
79 | "-h", | |
80 | "--help", | |
81 | action="store_true", | |
82 | help="Show this help and exit.", | |
83 | ) | |
84 | parser.add_argument( | |
85 | "-i", | |
86 | "--no-index", | |
87 | action="store_true", | |
88 | help="Don't generate index files.", | |
89 | ) | |
90 | parser.add_argument( | |
91 | "-o", | |
92 | "--outdir", | |
93 | default="doc", | |
94 | help="Generate files in the named directory.", | |
95 | ) | |
96 | parser.add_argument( | |
97 | "-R", | |
98 | "-r", | |
99 | "--recursive", | |
100 | action="store_true", | |
101 | help="Perform a recursive search for source files.", | |
102 | ) | |
103 | parser.add_argument( | |
104 | "-s", | |
105 | "--startdir", | |
106 | default="", | |
107 | help="Start the documentation generation in the given directory.", | |
108 | ) | |
109 | parser.add_argument( | |
110 | "-t", | |
111 | "--extension", | |
112 | action="append", | |
113 | default=[], | |
114 | help="Add the given extension to the list of file extensions. This option may" | |
115 | " be given multiple times.", | |
116 | ) | |
117 | parser.add_argument( | |
118 | "-V", | |
119 | "--version", | |
120 | action="store_true", | |
121 | help="Show version information and exit.", | |
122 | ) | |
123 | parser.add_argument( | |
124 | "-x", | |
125 | "--exclude", | |
126 | action="append", | |
127 | default=[], | |
128 | help="Specify a directory basename to be excluded. This option may be repeated" | |
129 | " multiple times.", | |
130 | ) | |
131 | ||
132 | colorGroup = parser.add_argument_group( | |
133 | "Stylesheet Colors", "Parameters to define individual stylesheet colors." | |
134 | ) | |
135 | colorGroup.add_argument( | |
136 | "--body-color", | |
137 | default=eric7docDefaultColors["BodyColor"], | |
138 | help="Specify the text color.", | |
139 | ) | |
140 | colorGroup.add_argument( | |
141 | "--body-background-color", | |
142 | default=eric7docDefaultColors["BodyBgColor"], | |
143 | help="Specify the text background color.", | |
144 | ) | |
145 | colorGroup.add_argument( | |
146 | "--l1header-color", | |
147 | default=eric7docDefaultColors["Level1HeaderColor"], | |
148 | help="Specify the text color of level 1 headers.", | |
149 | ) | |
150 | colorGroup.add_argument( | |
151 | "--l1header-background-color", | |
152 | default=eric7docDefaultColors["Level1HeaderBgColor"], | |
153 | help="Specify the text background color of level 1 headers.", | |
154 | ) | |
155 | colorGroup.add_argument( | |
156 | "--l2header-color", | |
157 | default=eric7docDefaultColors["Level2HeaderColor"], | |
158 | help="Specify the text color of level 2 headers.", | |
159 | ) | |
160 | colorGroup.add_argument( | |
161 | "--l2header-background-color", | |
162 | default=eric7docDefaultColors["Level2HeaderBgColor"], | |
163 | help="Specify the text background color of level 2 headers.", | |
164 | ) | |
165 | colorGroup.add_argument( | |
166 | "--cfheader-color", | |
167 | default=eric7docDefaultColors["CFColor"], | |
168 | help="Specify the text color of class and function headers.", | |
169 | ) | |
170 | colorGroup.add_argument( | |
171 | "--cfheader-background-color", | |
172 | default=eric7docDefaultColors["CFBgColor"], | |
173 | help="Specify the text background color of class and function headers.", | |
174 | ) | |
175 | colorGroup.add_argument( | |
176 | "--link-color", | |
177 | default=eric7docDefaultColors["LinkColor"], | |
178 | help="Specify the text color of hyperlinks.", | |
179 | ) | |
180 | ||
181 | qtGroup = parser.add_argument_group( | |
182 | "QtHelp", "Parameters for QtHelp file creation." | |
183 | ) | |
184 | qtGroup.add_argument( | |
185 | "--create-qhp", | |
186 | action="store_true", | |
187 | help="Enable generation of QtHelp files.", | |
188 | ) | |
189 | qtGroup.add_argument( | |
190 | "--qhp-outdir", | |
191 | default="help", | |
192 | help="Store the QtHelp files in the named directory.", | |
193 | ) | |
194 | qtGroup.add_argument( | |
195 | "--qhp-namespace", | |
196 | default="", | |
197 | help="Use the given namespace (required).", | |
198 | ) | |
199 | qtGroup.add_argument( | |
200 | "--qhp-virtualfolder", | |
201 | default="source", | |
202 | help="Use the given virtual folder (mandatory). The virtual folder must not" | |
203 | " contain '/'.", | |
204 | ) | |
205 | qtGroup.add_argument( | |
206 | "--qhp-filtername", | |
207 | default="unknown", | |
208 | help="Use the given name for the custom filter.", | |
209 | ) | |
210 | qtGroup.add_argument( | |
211 | "--qhp-filterattribs", | |
212 | default="", | |
213 | help="Add the given attributes to the filter list. Attributes must be" | |
214 | " separated by ':'.", | |
215 | ) | |
216 | qtGroup.add_argument( | |
217 | "--qhp-title", | |
218 | default="", | |
219 | help="Use this as the title for the generated help (mandatory).", | |
220 | ) | |
221 | qtGroup.add_argument( | |
222 | "--create-qhc", | |
223 | action="store_true", | |
224 | help="Enable generation of QtHelp Collection files.", | |
225 | ) | |
226 | ||
227 | return parser | |
15
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
228 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
908
diff
changeset
|
229 | |
15
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
230 | def version(): |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
231 | """ |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
232 | Function to show the version information. |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
233 | """ |
3035
36e9f388958b
Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3034
diff
changeset
|
234 | print( |
8314
e3642a6a1e71
Finished renaming eric6 to eric7.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8312
diff
changeset
|
235 | """eric7_doc {0}\n""" |
3035
36e9f388958b
Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3034
diff
changeset
|
236 | """\n""" |
7960
e8fc383322f7
Harmonized some user visible strings and changed the term 'eric6' to the more generic 'eric'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7923
diff
changeset
|
237 | """eric API documentation generator.\n""" |
3035
36e9f388958b
Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3034
diff
changeset
|
238 | """\n""" |
9653
e67609152c5e
Updated copyright for 2023.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9646
diff
changeset
|
239 | """Copyright (c) 2003-2023 Detlev Offenbach""" |
3035
36e9f388958b
Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3034
diff
changeset
|
240 | """ <detlev@die-offenbachs.de>\n""" |
9674
43dd357b3bff
Modified the pyproject.toml file to include a reference to the license file and changed its extension to be .txt.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9653
diff
changeset
|
241 | """This is free software; see LICENSE.txt for copying""" |
3035
36e9f388958b
Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3034
diff
changeset
|
242 | """ conditions.\n""" |
36e9f388958b
Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3034
diff
changeset
|
243 | """There is NO warranty; not even for MERCHANTABILITY or FITNESS""" |
36e9f388958b
Fixed a bunch of indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3034
diff
changeset
|
244 | """ FOR A\n""" |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
245 | """PARTICULAR PURPOSE.""".format(Version) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
246 | ) |
15
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
247 | sys.exit(1) |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
248 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
908
diff
changeset
|
249 | |
15
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
250 | def main(): |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
251 | """ |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
252 | Main entry point into the application. |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
253 | """ |
10296 | 254 | parser = createArgumentParser() |
255 | args = parser.parse_args() | |
256 | ||
257 | if args.help: | |
258 | parser.print_help() | |
259 | sys.exit(1) | |
260 | elif args.version: | |
261 | version() | |
262 | sys.exit(1) | |
263 | ||
264 | if not args.file: | |
265 | parser.error( | |
266 | "At least one file, Python module, Python package or directory must be" | |
267 | " given." | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
268 | ) |
15
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
269 | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
270 | excludeDirs = [ |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
271 | ".svn", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
272 | ".hg", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
273 | ".git", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
274 | ".ropeproject", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
275 | ".eric7project", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
276 | ".jedi", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
277 | "dist", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
278 | "build", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
279 | "doc", |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
280 | "docs", |
9646
ab5678db972f
Modernize the code by using os.scandir() instead of os.listdir().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9624
diff
changeset
|
281 | "__pycache__", |
10296 | 282 | ] + args.exclude |
283 | excludePatterns = args.exclude_file | |
284 | startDir = args.startdir | |
285 | outputDir = args.outdir | |
286 | recursive = args.recursive | |
287 | doIndex = not args.no_index | |
288 | noempty = args.no_empty | |
289 | newline = { | |
290 | "cr": "\r", | |
291 | "lf": "\n", | |
292 | "crlf": "\r\n", | |
293 | }.get(args.eol) | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
294 | |
10296 | 295 | stylesheetFile = args.style_sheet |
296 | colors = eric7docDefaultColors.copy() | |
297 | colors = { | |
298 | "BodyColor": args.body_color, | |
299 | "BodyBgColor": args.body_background_color, | |
300 | "Level1HeaderColor": args.l1header_color, | |
301 | "Level1HeaderBgColor": args.l1header_background_color, | |
302 | "Level2HeaderColor": args.l2header_color, | |
303 | "Level2HeaderBgColor": args.l2header_background_color, | |
304 | "CFColor": args.cfheader_color, | |
305 | "CFBgColor": args.cfheader_background_color, | |
306 | "LinkColor": args.link_color, | |
307 | } | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
308 | |
10296 | 309 | qtHelpCreation = args.create_qhp |
310 | qtHelpOutputDir = args.qhp_outdir | |
311 | qtHelpNamespace = args.qhp_namespace | |
312 | qtHelpFolder = args.qhp_virtualfolder | |
313 | qtHelpFilterName = args.qhp_filtername | |
314 | qtHelpFilterAttribs = args.qhp_filterattribs | |
315 | qtHelpTitle = args.qhp_title | |
316 | qtHelpCreateCollection = args.create_qhc | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
317 | |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
318 | if qtHelpCreation and ( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
319 | qtHelpNamespace == "" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
320 | or qtHelpFolder == "" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
321 | or "/" in qtHelpFolder |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
322 | or qtHelpTitle == "" |
7257
c4d0cac9b5c9
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
323 | ): |
10296 | 324 | parser.error("Some required QtHelp arguments are missing.") |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
325 | |
15
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
326 | basename = "" |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
327 | |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
328 | if outputDir: |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
329 | if not os.path.isdir(outputDir): |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
330 | try: |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
331 | os.makedirs(outputDir) |
7836
2f0d208b8137
Changed code to not use the OSError aliases (IOError, EnvironmentError, socket.error and select.error) anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7785
diff
changeset
|
332 | except OSError: |
433
988006cb898f
Did some more string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
253
diff
changeset
|
333 | sys.stderr.write( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
334 | "Could not create output directory {0}.".format(outputDir) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
335 | ) |
10296 | 336 | sys.exit(3) |
15
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
337 | else: |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
338 | outputDir = os.getcwd() |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
339 | outputDir = os.path.abspath(outputDir) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
340 | |
15
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
341 | if stylesheetFile: |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
342 | try: |
8596
d64760b2da50
Documentation Generator: streamlined the code to use an external style sheet file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8314
diff
changeset
|
343 | shutil.copy(stylesheetFile, os.path.join(outputDir, "styles.css")) |
7836
2f0d208b8137
Changed code to not use the OSError aliases (IOError, EnvironmentError, socket.error and select.error) anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7785
diff
changeset
|
344 | except OSError: |
433
988006cb898f
Did some more string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
253
diff
changeset
|
345 | sys.stderr.write( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
346 | "The CSS stylesheet '{0}' does not exist\n".format(stylesheetFile) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
347 | ) |
10296 | 348 | sys.exit(3) |
15
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
349 | else: |
8596
d64760b2da50
Documentation Generator: streamlined the code to use an external style sheet file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8314
diff
changeset
|
350 | try: |
d64760b2da50
Documentation Generator: streamlined the code to use an external style sheet file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8314
diff
changeset
|
351 | with open(os.path.join(outputDir, "styles.css"), "w") as sf: |
d64760b2da50
Documentation Generator: streamlined the code to use an external style sheet file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8314
diff
changeset
|
352 | sf.write(TemplatesListsStyleCSS.cssTemplate.format(**colors)) |
d64760b2da50
Documentation Generator: streamlined the code to use an external style sheet file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8314
diff
changeset
|
353 | except OSError: |
d64760b2da50
Documentation Generator: streamlined the code to use an external style sheet file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8314
diff
changeset
|
354 | sys.stderr.write( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
355 | "The CSS stylesheet '{0}' could not be created\n".format(stylesheetFile) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
356 | ) |
10296 | 357 | sys.exit(3) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
358 | |
8596
d64760b2da50
Documentation Generator: streamlined the code to use an external style sheet file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8314
diff
changeset
|
359 | indexGenerator = IndexGenerator(outputDir) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
360 | |
15
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
361 | if qtHelpCreation: |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
362 | if qtHelpOutputDir: |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
363 | if not os.path.isdir(qtHelpOutputDir): |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
364 | try: |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
365 | os.makedirs(qtHelpOutputDir) |
7836
2f0d208b8137
Changed code to not use the OSError aliases (IOError, EnvironmentError, socket.error and select.error) anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7785
diff
changeset
|
366 | except OSError: |
433
988006cb898f
Did some more string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
253
diff
changeset
|
367 | sys.stderr.write( |
988006cb898f
Did some more string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
253
diff
changeset
|
368 | "Could not create QtHelp output directory {0}.".format( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
369 | qtHelpOutputDir |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
370 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
371 | ) |
10296 | 372 | sys.exit(3) |
15
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
373 | else: |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
374 | qtHelpOutputDir = os.getcwd() |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
375 | qtHelpOutputDir = os.path.abspath(qtHelpOutputDir) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
376 | |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
377 | qtHelpGenerator = QtHelpGenerator( |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
378 | outputDir, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
379 | qtHelpOutputDir, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
380 | qtHelpNamespace, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
381 | qtHelpFolder, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
382 | qtHelpFilterName, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
383 | qtHelpFilterAttribs, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
384 | qtHelpTitle, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
385 | qtHelpCreateCollection, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
386 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
387 | |
9211
99eb1cb030a5
Code Documentation Generator
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
388 | if startDir: |
99eb1cb030a5
Code Documentation Generator
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9209
diff
changeset
|
389 | os.chdir(os.path.abspath(startDir)) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
390 | |
10296 | 391 | for argsfile in args.file: |
392 | if os.path.isdir(argsfile): | |
9624
b47dfa7a137d
Refactored the Utilities and Globals modules in order to enhance the maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9576
diff
changeset
|
393 | if os.path.exists( |
10296 | 394 | os.path.join(argsfile, FileSystemUtilities.joinext("__init__", ".py")) |
9624
b47dfa7a137d
Refactored the Utilities and Globals modules in order to enhance the maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9576
diff
changeset
|
395 | ): |
10296 | 396 | basename = os.path.dirname(argsfile) |
397 | if argsfile == ".": | |
15
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
398 | sys.stderr.write("The directory '.' is a package.\n") |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
399 | sys.stderr.write("Please repeat the call giving its real name.\n") |
15
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
400 | sys.stderr.write("Ignoring the directory.\n") |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
401 | continue |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
402 | else: |
10296 | 403 | basename = argsfile |
15
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
404 | if basename: |
433
988006cb898f
Did some more string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
253
diff
changeset
|
405 | basename = "{0}{1}".format(basename, os.sep) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
406 | |
10296 | 407 | if recursive and not os.path.islink(argsfile): |
408 | names = [argsfile] + FileSystemUtilities.getDirs(argsfile, excludeDirs) | |
15
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
409 | else: |
10296 | 410 | names = [argsfile] |
15
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
411 | else: |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
412 | basename = "" |
10296 | 413 | names = [argsfile] |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
414 | |
15
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
415 | for filename in names: |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
416 | inpackage = False |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
417 | if os.path.isdir(filename): |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
418 | files = [] |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
419 | for ext in supportedExtensions: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
420 | files.extend( |
9624
b47dfa7a137d
Refactored the Utilities and Globals modules in order to enhance the maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9576
diff
changeset
|
421 | glob.glob( |
b47dfa7a137d
Refactored the Utilities and Globals modules in order to enhance the maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9576
diff
changeset
|
422 | os.path.join( |
b47dfa7a137d
Refactored the Utilities and Globals modules in order to enhance the maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9576
diff
changeset
|
423 | filename, FileSystemUtilities.joinext("*", ext) |
b47dfa7a137d
Refactored the Utilities and Globals modules in order to enhance the maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9576
diff
changeset
|
424 | ) |
b47dfa7a137d
Refactored the Utilities and Globals modules in order to enhance the maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9576
diff
changeset
|
425 | ) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
426 | ) |
2992
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2965
diff
changeset
|
427 | initFile = os.path.join( |
9624
b47dfa7a137d
Refactored the Utilities and Globals modules in order to enhance the maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9576
diff
changeset
|
428 | filename, FileSystemUtilities.joinext("__init__", ext) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
429 | ) |
15
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
430 | if initFile in files: |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
431 | inpackage = True |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
432 | files.remove(initFile) |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
433 | files.insert(0, initFile) |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
434 | else: |
9624
b47dfa7a137d
Refactored the Utilities and Globals modules in order to enhance the maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9576
diff
changeset
|
435 | if OSUtilities.isWindowsPlatform() and glob.has_magic(filename): |
15
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
436 | files = glob.glob(filename) |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
437 | else: |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
438 | files = [filename] |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
439 | |
15
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
440 | for file in files: |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
441 | skipIt = False |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
442 | for pattern in excludePatterns: |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
443 | if fnmatch.fnmatch(os.path.basename(file), pattern): |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
444 | skipIt = True |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
445 | break |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
446 | if skipIt: |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
447 | continue |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
448 | |
15
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
449 | try: |
9740 | 450 | print("Processing", file) |
9413
80c06d472826
Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9221
diff
changeset
|
451 | module = ModuleParser.readModule( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
452 | file, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
453 | basename=basename, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
454 | inpackage=inpackage, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
455 | extensions=supportedExtensions, |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
456 | ) |
8596
d64760b2da50
Documentation Generator: streamlined the code to use an external style sheet file.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8314
diff
changeset
|
457 | moduleDocument = ModuleDocument(module) |
15
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
458 | doc = moduleDocument.genDocument() |
7836
2f0d208b8137
Changed code to not use the OSError aliases (IOError, EnvironmentError, socket.error and select.error) anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7785
diff
changeset
|
459 | except OSError as v: |
433
988006cb898f
Did some more string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
253
diff
changeset
|
460 | sys.stderr.write("{0} error: {1}\n".format(file, v[1])) |
15
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
461 | continue |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
462 | except ImportError as v: |
433
988006cb898f
Did some more string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
253
diff
changeset
|
463 | sys.stderr.write("{0} error: {1}\n".format(file, v)) |
15
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
464 | continue |
9740 | 465 | except Exception as ex: |
466 | sys.stderr.write( | |
9786
f94b530722af
Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9740
diff
changeset
|
467 | "{0} error while parsing: {1}\n".format(file, str(ex)) |
9740 | 468 | ) |
469 | raise | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
470 | |
9624
b47dfa7a137d
Refactored the Utilities and Globals modules in order to enhance the maintainability.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9576
diff
changeset
|
471 | f = FileSystemUtilities.joinext( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
472 | os.path.join(outputDir, moduleDocument.name()), ".html" |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
473 | ) |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
474 | |
15
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
475 | # remember for index file generation |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
476 | indexGenerator.remember(file, moduleDocument, basename) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
477 | |
15
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
478 | # remember for QtHelp generation |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
479 | if qtHelpCreation: |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
480 | qtHelpGenerator.remember(file, moduleDocument, basename) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
481 | |
7257
c4d0cac9b5c9
Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7229
diff
changeset
|
482 | if ( |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
483 | noempty or file.endswith("__init__.py") |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
484 | ) and moduleDocument.isEmpty(): |
15
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
485 | continue |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
486 | |
15
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
487 | # generate output |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
488 | try: |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
489 | with open(f, "w", encoding="utf-8", newline=newline) as out: |
7785
9978016560ec
Changed code to use context manager 'open()' for file operations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7781
diff
changeset
|
490 | out.write(doc) |
7836
2f0d208b8137
Changed code to not use the OSError aliases (IOError, EnvironmentError, socket.error and select.error) anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7785
diff
changeset
|
491 | except OSError as v: |
433
988006cb898f
Did some more string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
253
diff
changeset
|
492 | sys.stderr.write("{0} error: {1}\n".format(file, v[1])) |
9740 | 493 | except Exception as ex: |
494 | sys.stderr.write( | |
9786
f94b530722af
Corrected some code style and formatting issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9740
diff
changeset
|
495 | "{0} error while writing: {1}\n".format(file, str(ex)) |
9740 | 496 | ) |
497 | raise | |
15
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
498 | else: |
433
988006cb898f
Did some more string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
253
diff
changeset
|
499 | sys.stdout.write("{0} ok\n".format(f)) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
500 | |
9740 | 501 | sys.stdout.flush() |
502 | sys.stderr.flush() | |
503 | ||
504 | sys.stdout.write("code documentation generated") | |
505 | ||
15
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
506 | sys.stdout.flush() |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
507 | sys.stderr.flush() |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
508 | |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
509 | # write index files |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
510 | if doIndex: |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
908
diff
changeset
|
511 | indexGenerator.writeIndices(basename, newline=newline) |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
512 | |
15
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
513 | # generate the QtHelp files |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
514 | if qtHelpCreation: |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
908
diff
changeset
|
515 | qtHelpGenerator.generateFiles(newline=newline) |
15
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
516 | |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
517 | sys.exit(0) |
f6ccc31d6e72
Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
518 | |
9221
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
519 | |
bf71ee032bb4
Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
9211
diff
changeset
|
520 | if __name__ == "__main__": |
21
b88a0e6268bd
Fixed a bug in eric5-doc.py and regenerated docu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
18
diff
changeset
|
521 | main() |
4566
a2e8f3c420ec
Dealt with the M801 code style checker messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4343
diff
changeset
|
522 | |
a2e8f3c420ec
Dealt with the M801 code style checker messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4343
diff
changeset
|
523 | # |
a2e8f3c420ec
Dealt with the M801 code style checker messages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4343
diff
changeset
|
524 | # eflag: noqa = M801 |