Revision: linuxbios@linuxbios.org--devel/freebios--devel--2.0--patch-12
Creator: Stefan Reinauer <stepan@openbios.org> Add timestamp to mkOptionList.py mkOptionList.py: add timestamp git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1930 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
This commit is contained in:
parent
2305364397
commit
8c8cbac3c3
|
@ -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
|
|
@ -0,0 +1,54 @@
|
|||
<?xml version="1.0"?>
|
||||
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
|
||||
|
||||
<!--<xsl:choose>
|
||||
<xsl:when test="system-property('xsl:vendor')='Transformiix'">
|
||||
-->
|
||||
<xsl:output method="xml"
|
||||
doctype-public="PUBLIC -//W3C//DTD XHTML 1.0 Strict//EN"
|
||||
doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
|
||||
encoding="utf-8"
|
||||
indent="yes" />
|
||||
<!--
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:output method="xhtml"
|
||||
doctype-public="PUBLIC -//W3C//DTD XHTML 1.0 Strict//EN"
|
||||
doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
|
||||
encoding="utf-8"
|
||||
indent="yes" />
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
-->
|
||||
|
||||
<xsl:template match="/">
|
||||
<html>
|
||||
<head>
|
||||
<title>LinuxBIOS Options</title>
|
||||
</head>
|
||||
<body>
|
||||
<h2>LinuxBIOS Options</h2>
|
||||
<p>This is an automatically generated list of LinuxBIOS compile time
|
||||
options. Created at <xsl:value-of select="//creationdate"/>.</p>
|
||||
<table border="1">
|
||||
<tr bgcolor="#0975a7">
|
||||
<th align="left">Option</th>
|
||||
<th align="left">Comment</th>
|
||||
<th align="left">Default</th>
|
||||
<th align="left">Export</th>
|
||||
<th align="left">Format</th>
|
||||
</tr>
|
||||
<xsl:for-each select="options/option">
|
||||
<tr>
|
||||
<td><xsl:value-of select="@name"/></td>
|
||||
<td><xsl:value-of select="comment"/></td>
|
||||
<td><xsl:value-of select="default"/></td>
|
||||
<td><xsl:value-of select="export"/></td>
|
||||
<td><xsl:value-of select="format"/></td>
|
||||
</tr>
|
||||
</xsl:for-each>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
</xsl:template>
|
||||
</xsl:stylesheet>
|
|
@ -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 <florian-zeitz@lycos.de>)
|
||||
|
||||
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
|
||||
|
||||
|
||||
|
|
@ -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 + '<option name="' + line[7:-1] + '">' + "\n"
|
||||
elif line[:3] == "end":
|
||||
output = output + '</option>' + "\n\n"
|
||||
elif line[:7] == "default":
|
||||
output = output + '<default>' + line[8:-1] + '</default>' + "\n"
|
||||
elif line[:6] == "format":
|
||||
output = output + '<format>' + line[7:-1] + '</format>' + "\n"
|
||||
elif line[:6] == "export":
|
||||
output = output + '<export>' + line[7:-1] + '</export>' + "\n"
|
||||
elif line[:7] == "comment":
|
||||
output = output + '<comment>' + line[8:-1] + '</comment>' + "\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('<?xml version="1.0"?>')
|
||||
outfile.write("\n")
|
||||
outfile.write('<?xml-stylesheet type="text/xsl" href="Options.xsl"?>')
|
||||
outfile.write("\n")
|
||||
outfile.write('<options>')
|
||||
outfile.write("\n")
|
||||
outfile.write('<creationdate>')
|
||||
outfile.write(time.strftime('%Y/%m/%d %H:%M:%S'))
|
||||
outfile.write('</creationdate>')
|
||||
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('</options>')
|
||||
outfile.write("\n")
|
||||
outfile.flush()
|
||||
outfile.close()
|
||||
|
||||
print "Done!"
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
Loading…
Reference in New Issue