From 8c8cbac3c3c5db374b640e9f9770b76b5078398e Mon Sep 17 00:00:00 2001 From: "arch import user (historical)" Date: Wed, 6 Jul 2005 16:57:34 +0000 Subject: [PATCH] Revision: linuxbios@linuxbios.org--devel/freebios--devel--2.0--patch-12 Creator: Stefan Reinauer Add timestamp to mkOptionList.py mkOptionList.py: add timestamp git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1930 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1 --- util/optionlist/Makefile | 7 ++ util/optionlist/Options.xsl | 54 ++++++++++++++ util/optionlist/README | 24 +++++++ util/optionlist/mkOptionList.py | 123 ++++++++++++++++++++++++++++++++ 4 files changed, 208 insertions(+) create mode 100644 util/optionlist/Makefile create mode 100644 util/optionlist/Options.xsl create mode 100644 util/optionlist/README create mode 100755 util/optionlist/mkOptionList.py diff --git a/util/optionlist/Makefile b/util/optionlist/Makefile new file mode 100644 index 000000000..c11c80dd2 --- /dev/null +++ b/util/optionlist/Makefile @@ -0,0 +1,7 @@ +all: + ./mkOptionList.py + @#saxon Options.xml Options.xsl >Options.html + xsltproc Options.xsl Options.xml > Options.html + +clean: + rm Options.xml Options.html diff --git a/util/optionlist/Options.xsl b/util/optionlist/Options.xsl new file mode 100644 index 000000000..3502a24e1 --- /dev/null +++ b/util/optionlist/Options.xsl @@ -0,0 +1,54 @@ + + + + + + + + + + +LinuxBIOS Options + + +

LinuxBIOS Options

+

This is an automatically generated list of LinuxBIOS compile time +options. Created at .

+ + + + + + + + + + + + + + + + + +
OptionCommentDefaultExportFormat
+ + +
+
diff --git a/util/optionlist/README b/util/optionlist/README new file mode 100644 index 000000000..655af616e --- /dev/null +++ b/util/optionlist/README @@ -0,0 +1,24 @@ +I would like to contribute the following to the LinuxBIOS wiki in case +it's useable: + +1. I have written a rather small python script to convert the Options.lb + to a XML file which is much more useable for the web in most cases. + +2. I have written a XSLT to convert the XML file to (X)HTML to be able + to present it as a table. + +Florob (Florian Zeitz ) + +ChangeLog +--------- + +* 2005-03-19 stepan + - fix xml stylesheet to work with xsltproc and saxon + - add Makefile + - make script a bit more verbose + +* 2005-03-15 florob + - Initial version + + + diff --git a/util/optionlist/mkOptionList.py b/util/optionlist/mkOptionList.py new file mode 100755 index 000000000..c91f11aa2 --- /dev/null +++ b/util/optionlist/mkOptionList.py @@ -0,0 +1,123 @@ +#!/usr/bin/python + +def xmlString(string): + for i in range(len(string)-1): + if string[i] == "&": + string = string[:i] + "&" + string[i+1:] + if string[i] == "<": + string = string[:i] + "<" + string[i+1:] + if string[i] == ">": + string = string[:i] + ">" + string[i+1:] + return string + +def openInfile(filename): + "getting the input from the inputfile (e.g. Options.lb)" + infile = open(filename, "r") + infile.seek(0) + input = infile.readlines() + infile.close() + return input + +def prepInput(input): + "preparing the input for parsing (not really neccessary, but makes things simpler and doesnt take too long)" + i = -1 + while True: + i += 1 + if i >= len(input): break + if input[i] == ("" or "\n"): + input.pop(i) + if input[i][0:1] == "\t": + input[i] = input[i][1:] + i = -1 + return input + +def parseInput(input): + "parse the output" + output = "" + for line in input: + line = xmlString(line) + if line[:6] == "define": + output = output + '' + "\n\n" + elif line[:7] == "default": + output = output + '' + line[8:-1] + '' + "\n" + elif line[:6] == "format": + output = output + '' + line[7:-1] + '' + "\n" + elif line[:6] == "export": + output = output + '' + line[7:-1] + '' + "\n" + elif line[:7] == "comment": + output = output + '' + line[8:-1] + '' + "\n" + + return output + +def parseArgv(): + "parse the given arguments" + import sys + + In = Out = False + + if len(sys.argv) >= 2: + if sys.argv[1] == ("-h" or "--help"): + print "Syntax: mkOptionList.py [infile] [outfile]" + else: + In = True + inFilename = sys.argv[1] + if len(sys.argv) >= 3: + if sys.argv[2] == ("-h" or "--help"): + print "Syntax: mkOptionList.py [infile] [outfile]" + else: + Out = True + outFilename = sys.argv[2] + + if In and not Out: + return inFilename + elif In and Out: + return inFilename, outFilename + + +def main(): + import time + if not parseArgv(): + inFilename = "../../src/config/Options.lb" + outFilename = "Options.xml" + else: + inFilename, outFilename = parseArgv() + + input = openInfile(inFilename) + input = prepInput(input) + output = parseInput(input) + + print "mkOptionList.py: LinuxBIOS option list generator" + print " input file : ", inFilename + print " output file: ", outFilename + + #opening the output file + outfile = open(outFilename, "w", 0) + + #write the beginning of the XML to the output file + outfile.write('') + outfile.write("\n") + outfile.write('') + outfile.write("\n") + outfile.write('') + outfile.write("\n") + outfile.write('') + outfile.write(time.strftime('%Y/%m/%d %H:%M:%S')) + outfile.write('') + outfile.write("\n") + + + #write the parsed file to the output file + outfile.write(output) + + #write closing tags to the output file and close it + outfile.write('') + outfile.write("\n") + outfile.flush() + outfile.close() + + print "Done!" + +if __name__ == "__main__": + main() -- 2.25.1