diff --git a/util/optionlist/Makefile b/util/optionlist/Makefile new file mode 100644 index 0000000000..c11c80dd2b --- /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 0000000000..3502a24e19 --- /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 . + + +Option +Comment +Default +Export +Format + + + + + + + + + + + + + + + diff --git a/util/optionlist/README b/util/optionlist/README new file mode 100644 index 0000000000..655af616e4 --- /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 0000000000..c91f11aa22 --- /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" + elif line[:3] == "end": + 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()
This is an automatically generated list of LinuxBIOS compile time +options. Created at .