--- a/src/eric7/eric7_doc.py Wed Jul 13 11:16:20 2022 +0200 +++ b/src/eric7/eric7_doc.py Wed Jul 13 14:55:47 2022 +0200 @@ -38,14 +38,13 @@ def usage(): """ Function to print some usage information. - + It prints a reference of all commandline parameters that may be used and ends the application. """ print("eric7_doc") print() - print("Copyright (c) 2003 - 2022 Detlev Offenbach" - " <detlev@die-offenbachs.de>.") + print("Copyright (c) 2003 - 2022 Detlev Offenbach" " <detlev@die-offenbachs.de>.") print() print("Usage:") print() @@ -100,8 +99,7 @@ print(" --cfheader-color=color") print(" Specify the text color of class and function headers.") print(" --cfheader-background-color=color") - print(" Specify the text background color of class and" - " function headers.") + print(" Specify the text background color of class and" " function headers.") print(" --link-color=color") print(" Specify the text color of hyperlinks.") print() @@ -141,7 +139,8 @@ """ conditions.\n""" """There is NO warranty; not even for MERCHANTABILITY or FITNESS""" """ FOR A\n""" - """PARTICULAR PURPOSE.""".format(Version)) + """PARTICULAR PURPOSE.""".format(Version) + ) sys.exit(1) @@ -153,24 +152,55 @@ try: opts, args = getopt.getopt( - sys.argv[1:], "c:ehio:Rrs:t:Vx:", - ["exclude=", "extension=", "help", "noindex", "noempty", "outdir=", - "recursive", "startdir=", "style-sheet=", "version", - "exclude-file=", "eol=", - "body-color=", "body-background-color=", - "l1header-color=", "l1header-background-color=", - "l2header-color=", "l2header-background-color=", - "cfheader-color=", "cfheader-background-color=", - "link-color=", - "create-qhp", "qhp-outdir=", "qhp-namespace=", - "qhp-virtualfolder=", "qhp-filtername=", "qhp-filterattribs=", - "qhp-title=", "create-qhc", - ]) + sys.argv[1:], + "c:ehio:Rrs:t:Vx:", + [ + "exclude=", + "extension=", + "help", + "noindex", + "noempty", + "outdir=", + "recursive", + "startdir=", + "style-sheet=", + "version", + "exclude-file=", + "eol=", + "body-color=", + "body-background-color=", + "l1header-color=", + "l1header-background-color=", + "l2header-color=", + "l2header-background-color=", + "cfheader-color=", + "cfheader-background-color=", + "link-color=", + "create-qhp", + "qhp-outdir=", + "qhp-namespace=", + "qhp-virtualfolder=", + "qhp-filtername=", + "qhp-filterattribs=", + "qhp-title=", + "create-qhc", + ], + ) except getopt.error: usage() - excludeDirs = [".svn", ".hg", ".git", ".ropeproject", ".eric7project", - ".jedi", "dist", "build", "doc", "docs"] + excludeDirs = [ + ".svn", + ".hg", + ".git", + ".ropeproject", + ".eric7project", + ".jedi", + "dist", + "build", + "doc", + "docs", + ] excludePatterns = [] startDir = "" outputDir = "doc" @@ -178,10 +208,10 @@ doIndex = True noempty = False newline = None - + stylesheetFile = "" colors = eric7docDefaultColors.copy() - + qtHelpCreation = False qtHelpOutputDir = "help" qtHelpNamespace = "" @@ -190,7 +220,7 @@ qtHelpFilterAttribs = "" qtHelpTitle = "" qtHelpCreateCollection = False - + for k, v in opts: if k in ["-s", "--startdir"]: startDir = v @@ -218,31 +248,31 @@ supportedExtensions.append(v) elif k == "--eol": if v.lower() == "cr": - newline = '\r' + newline = "\r" elif v.lower() == "lf": - newline = '\n' + newline = "\n" elif v.lower() == "crlf": - newline = '\r\n' - + newline = "\r\n" + elif k == "--body-color": - colors['BodyColor'] = v + colors["BodyColor"] = v elif k == "--body-background-color": - colors['BodyBgColor'] = v + colors["BodyBgColor"] = v elif k == "--l1header-color": - colors['Level1HeaderColor'] = v + colors["Level1HeaderColor"] = v elif k == "--l1header-background-color": - colors['Level1HeaderBgColor'] = v + colors["Level1HeaderBgColor"] = v elif k == "--l2header-color": - colors['Level2HeaderColor'] = v + colors["Level2HeaderColor"] = v elif k == "--l2header-background-color": - colors['Level2HeaderBgColor'] = v + colors["Level2HeaderBgColor"] = v elif k == "--cfheader-color": - colors['CFColor'] = v + colors["CFColor"] = v elif k == "--cfheader-background-color": - colors['CFBgColor'] = v + colors["CFBgColor"] = v elif k == "--link-color": - colors['LinkColor'] = v - + colors["LinkColor"] = v + elif k == "--create-qhp": qtHelpCreation = True elif k == "--qhp-outdir": @@ -262,16 +292,15 @@ if not args: usage() - - if ( - qtHelpCreation and - (qtHelpNamespace == "" or - qtHelpFolder == "" or - '/' in qtHelpFolder or - qtHelpTitle == "") + + if qtHelpCreation and ( + qtHelpNamespace == "" + or qtHelpFolder == "" + or "/" in qtHelpFolder + or qtHelpTitle == "" ): usage() - + basename = "" if outputDir: @@ -280,19 +309,20 @@ os.makedirs(outputDir) except OSError: sys.stderr.write( - "Could not create output directory {0}.".format(outputDir)) + "Could not create output directory {0}.".format(outputDir) + ) sys.exit(2) else: outputDir = os.getcwd() outputDir = os.path.abspath(outputDir) - + if stylesheetFile: try: shutil.copy(stylesheetFile, os.path.join(outputDir, "styles.css")) except OSError: sys.stderr.write( - "The CSS stylesheet '{0}' does not exist\n".format( - stylesheetFile)) + "The CSS stylesheet '{0}' does not exist\n".format(stylesheetFile) + ) sys.exit(2) else: try: @@ -300,12 +330,12 @@ sf.write(TemplatesListsStyleCSS.cssTemplate.format(**colors)) except OSError: sys.stderr.write( - "The CSS stylesheet '{0}' could not be created\n".format( - stylesheetFile)) + "The CSS stylesheet '{0}' could not be created\n".format(stylesheetFile) + ) sys.exit(2) - + indexGenerator = IndexGenerator(outputDir) - + if qtHelpCreation: if qtHelpOutputDir: if not os.path.isdir(qtHelpOutputDir): @@ -314,37 +344,42 @@ except OSError: sys.stderr.write( "Could not create QtHelp output directory {0}.".format( - qtHelpOutputDir)) + qtHelpOutputDir + ) + ) sys.exit(2) else: qtHelpOutputDir = os.getcwd() qtHelpOutputDir = os.path.abspath(qtHelpOutputDir) - - qtHelpGenerator = QtHelpGenerator(outputDir, - qtHelpOutputDir, qtHelpNamespace, - qtHelpFolder, qtHelpFilterName, - qtHelpFilterAttribs, qtHelpTitle, - qtHelpCreateCollection) - + + qtHelpGenerator = QtHelpGenerator( + outputDir, + qtHelpOutputDir, + qtHelpNamespace, + qtHelpFolder, + qtHelpFilterName, + qtHelpFilterAttribs, + qtHelpTitle, + qtHelpCreateCollection, + ) + if startDir: os.chdir(os.path.abspath(startDir)) - + for arg in args: if os.path.isdir(arg): - if os.path.exists(os.path.join( - arg, Utilities.joinext("__init__", ".py"))): + if os.path.exists(os.path.join(arg, Utilities.joinext("__init__", ".py"))): basename = os.path.dirname(arg) - if arg == '.': + if arg == ".": sys.stderr.write("The directory '.' is a package.\n") - sys.stderr.write( - "Please repeat the call giving its real name.\n") + sys.stderr.write("Please repeat the call giving its real name.\n") sys.stderr.write("Ignoring the directory.\n") continue else: basename = arg if basename: basename = "{0}{1}".format(basename, os.sep) - + if recursive and not os.path.islink(arg): names = [arg] + Utilities.getDirs(arg, excludeDirs) else: @@ -352,16 +387,18 @@ else: basename = "" names = [arg] - + for filename in names: inpackage = False if os.path.isdir(filename): files = [] for ext in supportedExtensions: - files.extend(glob.glob(os.path.join( - filename, Utilities.joinext("*", ext)))) + files.extend( + glob.glob(os.path.join(filename, Utilities.joinext("*", ext))) + ) initFile = os.path.join( - filename, Utilities.joinext("__init__", ext)) + filename, Utilities.joinext("__init__", ext) + ) if initFile in files: inpackage = True files.remove(initFile) @@ -371,7 +408,7 @@ files = glob.glob(filename) else: files = [filename] - + for file in files: skipIt = False for pattern in excludePatterns: @@ -380,11 +417,14 @@ break if skipIt: continue - + try: module = Utilities.ModuleParser.readModule( - file, basename=basename, - inpackage=inpackage, extensions=supportedExtensions) + file, + basename=basename, + inpackage=inpackage, + extensions=supportedExtensions, + ) moduleDocument = ModuleDocument(module) doc = moduleDocument.genDocument() except OSError as v: @@ -393,47 +433,47 @@ except ImportError as v: sys.stderr.write("{0} error: {1}\n".format(file, v)) continue - - f = Utilities.joinext(os.path.join( - outputDir, moduleDocument.name()), ".html") - + + f = Utilities.joinext( + os.path.join(outputDir, moduleDocument.name()), ".html" + ) + # remember for index file generation indexGenerator.remember(file, moduleDocument, basename) - + # remember for QtHelp generation if qtHelpCreation: qtHelpGenerator.remember(file, moduleDocument, basename) - + if ( - (noempty or file.endswith('__init__.py')) and - moduleDocument.isEmpty() - ): + noempty or file.endswith("__init__.py") + ) and moduleDocument.isEmpty(): continue - + # generate output try: - with open(f, "w", encoding="utf-8", - newline=newline) as out: + with open(f, "w", encoding="utf-8", newline=newline) as out: out.write(doc) except OSError as v: sys.stderr.write("{0} error: {1}\n".format(file, v[1])) else: sys.stdout.write("{0} ok\n".format(f)) - + sys.stdout.flush() sys.stderr.flush() # write index files if doIndex: indexGenerator.writeIndices(basename, newline=newline) - + # generate the QtHelp files if qtHelpCreation: qtHelpGenerator.generateFiles(newline=newline) sys.exit(0) -if __name__ == '__main__': + +if __name__ == "__main__": main() #