src/eric7/eric7_doc.py

Wed, 08 Nov 2023 17:07:37 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Wed, 08 Nov 2023 17:07:37 +0100
branch
eric7
changeset 10296
2d3218cb56dc
parent 9786
f94b530722af
child 10298
a148416e7e7d
permissions
-rw-r--r--

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
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
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
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
35 def createArgumentParser():
15
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
36 """
10296
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
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
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
39 @return created argument parser object
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
40 @rtype argparse.ArgumentParser
15
f6ccc31d6e72 Started to rename stuff for eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
41 """
10296
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
42 parser = argparse.ArgumentParser(
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
43 description="Create source code documentation files.",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
44 epilog="Copyright (c) 2004 - 2023 Detlev Offenbach <detlev@die-offenbachs.de>.",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
45 add_help=False,
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
46 )
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
47
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
48 parser.add_argument(
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
49 "file",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
50 nargs="*",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
51 help="'file' can be either python modules, package directories or ordinary"
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
52 " directories. At least one 'file' argument must be given.",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
53 )
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
54 parser.add_argument(
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
55 "-c",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
56 "--style-sheet",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
57 default="",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
58 help="Specify a CSS style sheet file to be used.",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
59 )
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
60 parser.add_argument(
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
61 "-e",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
62 "--no-empty",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
63 action="store_true",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
64 help="Don't include empty modules.",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
65 )
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
66 parser.add_argument(
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
67 "--eol",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
68 choices=["cr", "lf", "crlf"],
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
69 help="Use the given eol type to terminate lines.",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
70 )
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
71 parser.add_argument(
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
72 "--exclude-file",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
73 action="append",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
74 default=[],
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
75 help="Specify a filename pattern of files to be excluded. This option may be"
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
76 " repeated multiple times.",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
77 )
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
78 parser.add_argument(
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
79 "-h",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
80 "--help",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
81 action="store_true",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
82 help="Show this help and exit.",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
83 )
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
84 parser.add_argument(
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
85 "-i",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
86 "--no-index",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
87 action="store_true",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
88 help="Don't generate index files.",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
89 )
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
90 parser.add_argument(
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
91 "-o",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
92 "--outdir",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
93 default="doc",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
94 help="Generate files in the named directory.",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
95 )
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
96 parser.add_argument(
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
97 "-R",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
98 "-r",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
99 "--recursive",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
100 action="store_true",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
101 help="Perform a recursive search for source files.",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
102 )
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
103 parser.add_argument(
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
104 "-s",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
105 "--startdir",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
106 default="",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
107 help="Start the documentation generation in the given directory.",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
108 )
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
109 parser.add_argument(
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
110 "-t",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
111 "--extension",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
112 action="append",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
113 default=[],
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
114 help="Add the given extension to the list of file extensions. This option may"
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
115 " be given multiple times.",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
116 )
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
117 parser.add_argument(
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
118 "-V",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
119 "--version",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
120 action="store_true",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
121 help="Show version information and exit.",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
122 )
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
123 parser.add_argument(
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
124 "-x",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
125 "--exclude",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
126 action="append",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
127 default=[],
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
128 help="Specify a directory basename to be excluded. This option may be repeated"
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
129 " multiple times.",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
130 )
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
131
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
132 colorGroup = parser.add_argument_group(
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
133 "Stylesheet Colors", "Parameters to define individual stylesheet colors."
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
134 )
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
135 colorGroup.add_argument(
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
136 "--body-color",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
137 default=eric7docDefaultColors["BodyColor"],
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
138 help="Specify the text color.",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
139 )
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
140 colorGroup.add_argument(
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
141 "--body-background-color",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
142 default=eric7docDefaultColors["BodyBgColor"],
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
143 help="Specify the text background color.",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
144 )
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
145 colorGroup.add_argument(
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
146 "--l1header-color",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
147 default=eric7docDefaultColors["Level1HeaderColor"],
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
148 help="Specify the text color of level 1 headers.",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
149 )
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
150 colorGroup.add_argument(
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
151 "--l1header-background-color",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
152 default=eric7docDefaultColors["Level1HeaderBgColor"],
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
153 help="Specify the text background color of level 1 headers.",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
154 )
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
155 colorGroup.add_argument(
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
156 "--l2header-color",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
157 default=eric7docDefaultColors["Level2HeaderColor"],
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
158 help="Specify the text color of level 2 headers.",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
159 )
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
160 colorGroup.add_argument(
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
161 "--l2header-background-color",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
162 default=eric7docDefaultColors["Level2HeaderBgColor"],
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
163 help="Specify the text background color of level 2 headers.",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
164 )
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
165 colorGroup.add_argument(
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
166 "--cfheader-color",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
167 default=eric7docDefaultColors["CFColor"],
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
168 help="Specify the text color of class and function headers.",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
169 )
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
170 colorGroup.add_argument(
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
171 "--cfheader-background-color",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
172 default=eric7docDefaultColors["CFBgColor"],
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
173 help="Specify the text background color of class and function headers.",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
174 )
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
175 colorGroup.add_argument(
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
176 "--link-color",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
177 default=eric7docDefaultColors["LinkColor"],
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
178 help="Specify the text color of hyperlinks.",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
179 )
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
180
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
181 qtGroup = parser.add_argument_group(
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
182 "QtHelp", "Parameters for QtHelp file creation."
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
183 )
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
184 qtGroup.add_argument(
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
185 "--create-qhp",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
186 action="store_true",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
187 help="Enable generation of QtHelp files.",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
188 )
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
189 qtGroup.add_argument(
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
190 "--qhp-outdir",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
191 default="help",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
192 help="Store the QtHelp files in the named directory.",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
193 )
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
194 qtGroup.add_argument(
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
195 "--qhp-namespace",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
196 default="",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
197 help="Use the given namespace (required).",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
198 )
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
199 qtGroup.add_argument(
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
200 "--qhp-virtualfolder",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
201 default="source",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
202 help="Use the given virtual folder (mandatory). The virtual folder must not"
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
203 " contain '/'.",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
204 )
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
205 qtGroup.add_argument(
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
206 "--qhp-filtername",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
207 default="unknown",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
208 help="Use the given name for the custom filter.",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
209 )
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
210 qtGroup.add_argument(
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
211 "--qhp-filterattribs",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
212 default="",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
213 help="Add the given attributes to the filter list. Attributes must be"
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
214 " separated by ':'.",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
215 )
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
216 qtGroup.add_argument(
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
217 "--qhp-title",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
218 default="",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
219 help="Use this as the title for the generated help (mandatory).",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
220 )
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
221 qtGroup.add_argument(
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
222 "--create-qhc",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
223 action="store_true",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
224 help="Enable generation of QtHelp Collection files.",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
225 )
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
226
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
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
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
254 parser = createArgumentParser()
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
255 args = parser.parse_args()
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
256
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
257 if args.help:
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
258 parser.print_help()
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
259 sys.exit(1)
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
260 elif args.version:
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
261 version()
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
262 sys.exit(1)
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
263
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
264 if not args.file:
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
265 parser.error(
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
266 "At least one file, Python module, Python package or directory must be"
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
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
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
282 ] + args.exclude
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
283 excludePatterns = args.exclude_file
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
284 startDir = args.startdir
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
285 outputDir = args.outdir
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
286 recursive = args.recursive
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
287 doIndex = not args.no_index
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
288 noempty = args.no_empty
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
289 newline = {
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
290 "cr": "\r",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
291 "lf": "\n",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
292 "crlf": "\r\n",
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
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
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
295 stylesheetFile = args.style_sheet
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
296 colors = eric7docDefaultColors.copy()
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
297 colors = {
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
298 "BodyColor": args.body_color,
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
299 "BodyBgColor": args.body_background_color,
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
300 "Level1HeaderColor": args.l1header_color,
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
301 "Level1HeaderBgColor": args.l1header_background_color,
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
302 "Level2HeaderColor": args.l2header_color,
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
303 "Level2HeaderBgColor": args.l2header_background_color,
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
304 "CFColor": args.cfheader_color,
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
305 "CFBgColor": args.cfheader_background_color,
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
306 "LinkColor": args.link_color,
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
307 }
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9211
diff changeset
308
10296
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
309 qtHelpCreation = args.create_qhp
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
310 qtHelpOutputDir = args.qhp_outdir
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
311 qtHelpNamespace = args.qhp_namespace
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
312 qtHelpFolder = args.qhp_virtualfolder
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
313 qtHelpFilterName = args.qhp_filtername
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
314 qtHelpFilterAttribs = args.qhp_filterattribs
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
315 qtHelpTitle = args.qhp_title
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
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
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
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
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
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
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
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
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
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
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
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
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
391 for argsfile in args.file:
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
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
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
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
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
396 basename = os.path.dirname(argsfile)
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
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
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
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
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
407 if recursive and not os.path.islink(argsfile):
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
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
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
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
2d3218cb56dc eric7_doc.py
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9786
diff changeset
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
90072e10ae9b MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9674
diff changeset
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
90072e10ae9b MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9674
diff changeset
465 except Exception as ex:
90072e10ae9b MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9674
diff changeset
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
90072e10ae9b MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9674
diff changeset
468 )
90072e10ae9b MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9674
diff changeset
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
90072e10ae9b MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9674
diff changeset
493 except Exception as ex:
90072e10ae9b MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9674
diff changeset
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
90072e10ae9b MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9674
diff changeset
496 )
90072e10ae9b MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9674
diff changeset
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
90072e10ae9b MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9674
diff changeset
501 sys.stdout.flush()
90072e10ae9b MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9674
diff changeset
502 sys.stderr.flush()
90072e10ae9b MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9674
diff changeset
503
90072e10ae9b MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9674
diff changeset
504 sys.stdout.write("code documentation generated")
90072e10ae9b MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9674
diff changeset
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

eric ide

mercurial