diff -r ce2034bc1c6e -r d64760b2da50 eric7/eric7_doc.py --- a/eric7/eric7_doc.py Sun Sep 12 17:30:38 2021 +0200 +++ b/eric7/eric7_doc.py Sun Sep 12 20:22:27 2021 +0200 @@ -12,19 +12,22 @@ This script can be used via the commandline as well. """ +import fnmatch +import glob import os +import shutil import sys sys.path.insert(1, os.path.dirname(__file__)) -import glob -import fnmatch +import Utilities.ModuleParser -import Utilities.ModuleParser from DocumentationTools.ModuleDocumentor import ModuleDocument from DocumentationTools.IndexGenerator import IndexGenerator from DocumentationTools.QtHelpGenerator import QtHelpGenerator from DocumentationTools.Config import eric7docDefaultColors +from DocumentationTools import TemplatesListsStyleCSS + from UI.Info import Version import Utilities @@ -277,21 +280,28 @@ else: outputDir = os.getcwd() outputDir = os.path.abspath(outputDir) - + + # TODO: write configured colors to a stylesheet file and use stylesheet + # variant only if stylesheetFile: try: - with open(stylesheetFile, "r", encoding="utf-8") as sf: - stylesheet = sf.read() + shutil.copy(stylesheetFile, os.path.join(outputDir, "styles.css")) except OSError: sys.stderr.write( "The CSS stylesheet '{0}' does not exist\n".format( stylesheetFile)) - sys.stderr.write("Disabling CSS usage.\n") - stylesheet = None + sys.exit(2) else: - stylesheet = None + try: + with open(os.path.join(outputDir, "styles.css"), "w") as sf: + sf.write(TemplatesListsStyleCSS.cssTemplate.format(**colors)) + except OSError: + sys.stderr.write( + "The CSS stylesheet '{0}' could not be created\n".format( + stylesheetFile)) + sys.exit(2) - indexGenerator = IndexGenerator(outputDir, colors, stylesheet) + indexGenerator = IndexGenerator(outputDir) if qtHelpCreation: if qtHelpOutputDir: @@ -369,7 +379,7 @@ module = Utilities.ModuleParser.readModule( file, basename=basename, inpackage=inpackage, extensions=supportedExtensions) - moduleDocument = ModuleDocument(module, colors, stylesheet) + moduleDocument = ModuleDocument(module) doc = moduleDocument.genDocument() except OSError as v: sys.stderr.write("{0} error: {1}\n".format(file, v[1]))