add templates
This commit is contained in:
parent
ceebe3b4b0
commit
effd58c647
2
refpolicy/doc/templates/menu.html
vendored
2
refpolicy/doc/templates/menu.html
vendored
@ -11,4 +11,6 @@
|
|||||||
[[end]]
|
[[end]]
|
||||||
<br/><p/>
|
<br/><p/>
|
||||||
<a href="interfaces.html">* Interface Index</a>
|
<a href="interfaces.html">* Interface Index</a>
|
||||||
|
<br/><p/>
|
||||||
|
<a href="templates.html">* Template Index</a>
|
||||||
</div>
|
</div>
|
||||||
|
6
refpolicy/doc/templates/module.html
vendored
6
refpolicy/doc/templates/module.html
vendored
@ -1,10 +1,16 @@
|
|||||||
<h1>Layer: [[mod_layer]]</h1><p/>
|
<h1>Layer: [[mod_layer]]</h1><p/>
|
||||||
<h2>Module: [[mod_name]]</h2><p/>
|
<h2>Module: [[mod_name]]</h2><p/>
|
||||||
|
<a href=#interfaces>Interfaces</a>
|
||||||
|
<a href=#templates>Templates</a>
|
||||||
<h3>Description:</h3>
|
<h3>Description:</h3>
|
||||||
[[if mod_desc]]
|
[[if mod_desc]]
|
||||||
[[mod_desc]]
|
[[mod_desc]]
|
||||||
[[else]]
|
[[else]]
|
||||||
[[mod_summary]]
|
[[mod_summary]]
|
||||||
[[end]]
|
[[end]]
|
||||||
|
<a name="interfaces"/>
|
||||||
<h3>Interfaces: </h3>
|
<h3>Interfaces: </h3>
|
||||||
[[interfaces]]
|
[[interfaces]]
|
||||||
|
<a name="templates"/>
|
||||||
|
<h3>Templates: </h3>
|
||||||
|
[[templates]]
|
||||||
|
24
refpolicy/doc/templates/style.css
vendored
24
refpolicy/doc/templates/style.css
vendored
@ -124,6 +124,30 @@ a:hover {background-color:#eee;}
|
|||||||
text-decoration:none;
|
text-decoration:none;
|
||||||
font-family:verdana, arial, helvetica, sans-serif;
|
font-family:verdana, arial, helvetica, sans-serif;
|
||||||
}
|
}
|
||||||
|
#Template {
|
||||||
|
margin:5px 0px 25px 5px;
|
||||||
|
padding:5px 0px 5px 5px;
|
||||||
|
border-style:solid;
|
||||||
|
border-color:black;
|
||||||
|
border-width:1px 1px 1px 1px;
|
||||||
|
background-color:#fafafa;
|
||||||
|
font-size:14px;
|
||||||
|
font-weight:400;
|
||||||
|
text-decoration:none;
|
||||||
|
font-family:verdana, arial, helvetica, sans-serif;
|
||||||
|
}
|
||||||
|
#Templatesmall {
|
||||||
|
margin:0px 0px 5px 0px;
|
||||||
|
padding:5px 0px 0px 5px;
|
||||||
|
border-style:solid;
|
||||||
|
border-color:black;
|
||||||
|
border-width:1px 1px 1px 1px;
|
||||||
|
background-color:#fafafa;
|
||||||
|
font-size:14px;
|
||||||
|
font-weight:400;
|
||||||
|
text-decoration:none;
|
||||||
|
font-family:verdana, arial, helvetica, sans-serif;
|
||||||
|
}
|
||||||
#Description {
|
#Description {
|
||||||
margin:0px 0px 0px 5px;
|
margin:0px 0px 0px 5px;
|
||||||
padding:0px 0px 0px 5px;
|
padding:0px 0px 0px 5px;
|
||||||
|
33
refpolicy/doc/templates/temp_list.html
vendored
Normal file
33
refpolicy/doc/templates/temp_list.html
vendored
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
<h3>Master template index:</h3>
|
||||||
|
|
||||||
|
[[for temp in templates]]
|
||||||
|
<div id="templatesmall">
|
||||||
|
Module: <a href='[[temp['mod_layer']+ "_" + temp['mod_name']]].html'>
|
||||||
|
[[temp['mod_name']]]</a><p/>
|
||||||
|
Layer: <a href='[[temp['mod_layer']]].html'>
|
||||||
|
[[temp['mod_layer']]]</a><p/>
|
||||||
|
<div id="codeblock">
|
||||||
|
[[exec i = 0]]
|
||||||
|
<b>[[temp['template_name']]]</b>(
|
||||||
|
[[for arg in temp['template_parameters']]]
|
||||||
|
[[if i != 0]]
|
||||||
|
,
|
||||||
|
[[end]]
|
||||||
|
[[exec i = 1]]
|
||||||
|
[[if arg['optional'] == 'yes']]
|
||||||
|
[
|
||||||
|
[[end]]
|
||||||
|
[[arg['name']]]
|
||||||
|
[[if arg['optional'] == 'yes']]
|
||||||
|
]
|
||||||
|
[[end]]
|
||||||
|
[[end]]
|
||||||
|
)<br>
|
||||||
|
</div>
|
||||||
|
[[if temp['template_summary']]]
|
||||||
|
<div id="description">
|
||||||
|
[[temp['template_summary']]]
|
||||||
|
</div>
|
||||||
|
[[end]]
|
||||||
|
</div>
|
||||||
|
[[end]]
|
51
refpolicy/doc/templates/template.html
vendored
Normal file
51
refpolicy/doc/templates/template.html
vendored
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
[[for temp in templates]]
|
||||||
|
<div id="template">
|
||||||
|
[[if temp.has_key("mod_layer")]]
|
||||||
|
Layer: [[mod_layer]]<br>
|
||||||
|
[[end]]
|
||||||
|
[[if temp.has_key("mod_name")]]
|
||||||
|
Module: [[mod_name]]<br>
|
||||||
|
[[end]]
|
||||||
|
<div id="codeblock">
|
||||||
|
[[exec i = 0]]
|
||||||
|
<b>[[temp['template_name']]]</b>(
|
||||||
|
[[for arg in temp['template_parameters']]]
|
||||||
|
[[if i != 0]]
|
||||||
|
,
|
||||||
|
[[end]]
|
||||||
|
[[exec i = 1]]
|
||||||
|
[[if arg['optional'] == 'yes']]
|
||||||
|
[
|
||||||
|
[[end]]
|
||||||
|
[[arg['name']]]
|
||||||
|
[[if arg['optional'] == 'yes']]
|
||||||
|
]
|
||||||
|
[[end]]
|
||||||
|
[[end]]
|
||||||
|
)<br>
|
||||||
|
</div>
|
||||||
|
<div id="description">
|
||||||
|
[[if temp['template_summary']]]
|
||||||
|
<h5>Summary</h5>
|
||||||
|
[[temp['template_summary']]]
|
||||||
|
[[end]]
|
||||||
|
[[if temp['template_desc']]]
|
||||||
|
<h5>Description</h5>
|
||||||
|
[[temp['template_desc']]]
|
||||||
|
[[end]]
|
||||||
|
<h5>Parameters</h5>
|
||||||
|
<table border="1" cellspacing="0" cellpadding="3" width="80%">
|
||||||
|
<tr><th >Parameter:</td><th >Description:</td><th >Optional:</td></tr>
|
||||||
|
[[for arg in temp['template_parameters']]]
|
||||||
|
<tr><td>
|
||||||
|
[[arg['name']]]
|
||||||
|
</td><td>
|
||||||
|
[[arg['desc']]]
|
||||||
|
</td><td>
|
||||||
|
[[arg['optional']]]
|
||||||
|
</td></tr>
|
||||||
|
[[end]]
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
[[end]]
|
@ -152,6 +152,13 @@ def int_cmp(a, b):
|
|||||||
|
|
||||||
return cmp(a["interface_name"], b["interface_name"])
|
return cmp(a["interface_name"], b["interface_name"])
|
||||||
|
|
||||||
|
def temp_cmp(a, b):
|
||||||
|
"""
|
||||||
|
Compares two templates.
|
||||||
|
"""
|
||||||
|
|
||||||
|
return cmp(a["template_name"], b["template_name"])
|
||||||
|
|
||||||
def gen_doc_menu(mod_layer, module_list):
|
def gen_doc_menu(mod_layer, module_list):
|
||||||
"""
|
"""
|
||||||
Generates the HTML document menu.
|
Generates the HTML document menu.
|
||||||
@ -226,6 +233,9 @@ def gen_docs(doc, dir, templatedir):
|
|||||||
intfile = open(templatedir + "/interface.html", "r")
|
intfile = open(templatedir + "/interface.html", "r")
|
||||||
intdata = intfile.read()
|
intdata = intfile.read()
|
||||||
intfile.close()
|
intfile.close()
|
||||||
|
templatefile = open(templatedir + "/template.html", "r")
|
||||||
|
templatedata = templatefile.read()
|
||||||
|
templatefile.close()
|
||||||
menufile = open(templatedir + "/menu.html", "r")
|
menufile = open(templatedir + "/menu.html", "r")
|
||||||
menudata = menufile.read()
|
menudata = menufile.read()
|
||||||
menufile.close()
|
menufile.close()
|
||||||
@ -238,6 +248,9 @@ def gen_docs(doc, dir, templatedir):
|
|||||||
intlistfile = open(templatedir + "/int_list.html", "r")
|
intlistfile = open(templatedir + "/int_list.html", "r")
|
||||||
intlistdata = intlistfile.read()
|
intlistdata = intlistfile.read()
|
||||||
intlistfile.close()
|
intlistfile.close()
|
||||||
|
templistfile = open(templatedir + "/temp_list.html", "r")
|
||||||
|
templistdata = templistfile.read()
|
||||||
|
templistfile.close()
|
||||||
except:
|
except:
|
||||||
error("Could not open templates")
|
error("Could not open templates")
|
||||||
|
|
||||||
@ -305,6 +318,7 @@ def gen_docs(doc, dir, templatedir):
|
|||||||
#now generate the individual module pages
|
#now generate the individual module pages
|
||||||
|
|
||||||
all_interfaces = []
|
all_interfaces = []
|
||||||
|
all_templates = []
|
||||||
for node in doc.getElementsByTagName("module"):
|
for node in doc.getElementsByTagName("module"):
|
||||||
mod_name = mod_layer = mod_desc = interface_buf = ''
|
mod_name = mod_layer = mod_desc = interface_buf = ''
|
||||||
|
|
||||||
@ -363,6 +377,55 @@ def gen_docs(doc, dir, templatedir):
|
|||||||
interface_tpl = pyplate.Template(intdata)
|
interface_tpl = pyplate.Template(intdata)
|
||||||
interface_buf = interface_tpl.execute_string({"interfaces" : interfaces})
|
interface_buf = interface_tpl.execute_string({"interfaces" : interfaces})
|
||||||
|
|
||||||
|
|
||||||
|
# now generate individual template pages
|
||||||
|
templates = []
|
||||||
|
for template in node.getElementsByTagName("template"):
|
||||||
|
template_parameters = []
|
||||||
|
template_desc = template_secdesc = template_summary = None
|
||||||
|
for i,v in template.attributes.items():
|
||||||
|
template_name = v
|
||||||
|
for desc in template.getElementsByTagName("desc"):
|
||||||
|
template_desc = format_html_desc(desc)
|
||||||
|
for desc in template.getElementsByTagName("secdesc"):
|
||||||
|
if desc:
|
||||||
|
template_secdesc = format_html_desc(desc)
|
||||||
|
for desc in template.getElementsByTagName("summary"):
|
||||||
|
template_summary = format_html_desc(desc)
|
||||||
|
|
||||||
|
for args in template.getElementsByTagName("param"):
|
||||||
|
paramdesc = args.firstChild.data
|
||||||
|
paramname = None
|
||||||
|
paramopt = "No"
|
||||||
|
for name,val in args.attributes.items():
|
||||||
|
if name == "name":
|
||||||
|
paramname = val
|
||||||
|
if name == "optional":
|
||||||
|
if val == "true":
|
||||||
|
paramopt = "yes"
|
||||||
|
parameter = { "name" : paramname,
|
||||||
|
"desc" : paramdesc,
|
||||||
|
"optional" : paramopt }
|
||||||
|
template_parameters.append(parameter)
|
||||||
|
templates.append( { "template_name" : template_name,
|
||||||
|
"template_summary" : template_summary,
|
||||||
|
"template_desc" : template_desc,
|
||||||
|
"template_parameters" : template_parameters,
|
||||||
|
"template_secdesc" : template_secdesc })
|
||||||
|
#all_templates is for the main interface index with all templates
|
||||||
|
all_templates.append( { "template_name" : template_name,
|
||||||
|
"template_summary" : template_summary,
|
||||||
|
"template_desc" : template_desc,
|
||||||
|
"template_parameters" : template_parameters,
|
||||||
|
"template_secdesc" : template_secdesc,
|
||||||
|
"mod_name": mod_name,
|
||||||
|
"mod_layer" : mod_layer })
|
||||||
|
|
||||||
|
templates.sort(temp_cmp)
|
||||||
|
template_tpl = pyplate.Template(templatedata)
|
||||||
|
template_buf = template_tpl.execute_string({"templates" : templates})
|
||||||
|
|
||||||
|
|
||||||
menu = gen_doc_menu(mod_layer, module_list)
|
menu = gen_doc_menu(mod_layer, module_list)
|
||||||
|
|
||||||
menu_tpl = pyplate.Template(menudata)
|
menu_tpl = pyplate.Template(menudata)
|
||||||
@ -372,7 +435,8 @@ def gen_docs(doc, dir, templatedir):
|
|||||||
"mod_name" : mod_name,
|
"mod_name" : mod_name,
|
||||||
"mod_summary" : mod_summary,
|
"mod_summary" : mod_summary,
|
||||||
"mod_desc" : mod_desc,
|
"mod_desc" : mod_desc,
|
||||||
"interfaces" : interface_buf }
|
"interfaces" : interface_buf,
|
||||||
|
"templates": template_buf }
|
||||||
|
|
||||||
module_tpl = pyplate.Template(moduledata)
|
module_tpl = pyplate.Template(moduledata)
|
||||||
module_buf = module_tpl.execute_string(module_args)
|
module_buf = module_tpl.execute_string(module_args)
|
||||||
@ -386,7 +450,6 @@ def gen_docs(doc, dir, templatedir):
|
|||||||
body_tpl.execute(module_fh, body_args)
|
body_tpl.execute(module_fh, body_args)
|
||||||
module_fh.close()
|
module_fh.close()
|
||||||
|
|
||||||
#and last build the interface index
|
|
||||||
|
|
||||||
menu = gen_doc_menu(None, module_list)
|
menu = gen_doc_menu(None, module_list)
|
||||||
menu_args = { "menulist" : menu,
|
menu_args = { "menulist" : menu,
|
||||||
@ -394,6 +457,7 @@ def gen_docs(doc, dir, templatedir):
|
|||||||
menu_tpl = pyplate.Template(menudata)
|
menu_tpl = pyplate.Template(menudata)
|
||||||
menu_buf = menu_tpl.execute_string(menu_args)
|
menu_buf = menu_tpl.execute_string(menu_args)
|
||||||
|
|
||||||
|
#build the interface index
|
||||||
all_interfaces.sort(int_cmp)
|
all_interfaces.sort(int_cmp)
|
||||||
interface_tpl = pyplate.Template(intlistdata)
|
interface_tpl = pyplate.Template(intlistdata)
|
||||||
interface_buf = interface_tpl.execute_string({"interfaces" : all_interfaces})
|
interface_buf = interface_tpl.execute_string({"interfaces" : all_interfaces})
|
||||||
@ -407,6 +471,21 @@ def gen_docs(doc, dir, templatedir):
|
|||||||
body_tpl.execute(int_fh, body_args)
|
body_tpl.execute(int_fh, body_args)
|
||||||
int_fh.close()
|
int_fh.close()
|
||||||
|
|
||||||
|
|
||||||
|
#build the template index
|
||||||
|
all_templates.sort(temp_cmp)
|
||||||
|
template_tpl = pyplate.Template(templistdata)
|
||||||
|
template_buf = template_tpl.execute_string({"templates" : all_templates})
|
||||||
|
temp_file = "templates.html"
|
||||||
|
temp_fh = open(temp_file, "w")
|
||||||
|
body_tpl = pyplate.Template(bodydata)
|
||||||
|
|
||||||
|
body_args = { "menu" : menu_buf,
|
||||||
|
"content" : template_buf }
|
||||||
|
|
||||||
|
body_tpl.execute(temp_fh, body_args)
|
||||||
|
temp_fh.close()
|
||||||
|
|
||||||
def error(error):
|
def error(error):
|
||||||
"""
|
"""
|
||||||
Print an error message and exit.
|
Print an error message and exit.
|
||||||
|
Loading…
Reference in New Issue
Block a user