Skip to content
Snippets Groups Projects
Commit 4c13f604 authored by g0dil's avatar g0dil
Browse files

Change template quoting style and add Literal commands to make templates...

Change template quoting style and add Literal commands to make templates portable accross SCons versions
parent dc455eda
No related branches found
No related tags found
No related merge requests found
...@@ -11,9 +11,10 @@ def modules(): ...@@ -11,9 +11,10 @@ def modules():
global EXTRA_MODULES global EXTRA_MODULES
rv = [] rv = []
ix = len(env.Dir('#').abspath)+1 ix = len(env.Dir('#').abspath)+1
ex = dict((env.Dir(p).abspath,True) for n,p in EXTRA_MODULES)
for module in env.Alias('all_docs')[0].sources: for module in env.Alias('all_docs')[0].sources:
if module.name != 'html.stamp' : continue if module.name != 'html.stamp' : continue
if not [ x for x in EXTRA_MODULES if env.Dir(x[1]).abspath == module.dir.abspath]: if not ex.get(module.dir.abspath):
rv.append(('lib%s' % module.dir.dir.dir.name, module.dir.abspath[ix:])) rv.append(('lib%s' % module.dir.dir.dir.name, module.dir.abspath[ix:]))
rv.sort() rv.sort()
return [ (name, env.Dir(path).abspath[ix:]) for name,path in EXTRA_MODULES ] + rv return [ (name, env.Dir(path).abspath[ix:]) for name,path in EXTRA_MODULES ] + rv
...@@ -25,7 +26,7 @@ def indices(): ...@@ -25,7 +26,7 @@ def indices():
if doc.name == "search.idx" ] if doc.name == "search.idx" ]
def writeTemplate(target = None, source = None, env = None): def writeTemplate(target = None, source = None, env = None):
file(target[0].abspath,"w").write(yaptu.process(env['TEMPLATE'], globals(), env.Dictionary())) file(target[0].abspath,"w").write(yaptu.process(str(env['TEMPLATE']), globals(), env.Dictionary()))
writeTemplate = env.Action(writeTemplate, varlist = [ 'TEMPLATE' ]) writeTemplate = env.Action(writeTemplate, varlist = [ 'TEMPLATE' ])
...@@ -45,7 +46,7 @@ HEADER = """<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http ...@@ -45,7 +46,7 @@ HEADER = """<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http
<link href="@TOPDIR@/doc/html/doxygen.css" rel="stylesheet" type="text/css"> <link href="@TOPDIR@/doc/html/doxygen.css" rel="stylesheet" type="text/css">
<link href="@TOPDIR@/doclib/senf.css" rel="stylesheet" type="text/css"> <link href="@TOPDIR@/doclib/senf.css" rel="stylesheet" type="text/css">
<style type="text/css"> <style type="text/css">
div.tabs ul li.$projectname a {obr} background-color: #EDE497; {cbr} div.tabs ul li.$projectname a { background-color: #EDE497; }
</style> </style>
</head> </head>
<body> <body>
...@@ -57,7 +58,7 @@ div.tabs ul li.$projectname a {obr} background-color: #EDE497; {cbr} ...@@ -57,7 +58,7 @@ div.tabs ul li.$projectname a {obr} background-color: #EDE497; {cbr}
</form> </form>
</div> </div>
<h1>SENF Extensible Network Framework</h1> <h1>SENF Extensible Network Framework</h1>
<h2>{TITLE}</h2> <h2>${TITLE}</h2>
</div> </div>
<div id="content1"> <div id="content1">
...@@ -65,7 +66,7 @@ div.tabs ul li.$projectname a {obr} background-color: #EDE497; {cbr} ...@@ -65,7 +66,7 @@ div.tabs ul li.$projectname a {obr} background-color: #EDE497; {cbr}
<div class="tabs menu"> <div class="tabs menu">
<ul> <ul>
{{ for name, path in modules(): {{ for name, path in modules():
<li class="{name}"><a href="@TOPDIR@/{path}/index.html">{name}</a></li> <li class="${name}"><a href="@TOPDIR@/${path}/index.html">${name}</a></li>
}} }}
</ul> </ul>
</div>""" </div>"""
...@@ -99,31 +100,31 @@ SEARCH_PATHS_PHP="""<?php ...@@ -99,31 +100,31 @@ SEARCH_PATHS_PHP="""<?php
function paths() { function paths() {
return array( return array(
{{ for index in indices(): {{ for index in indices():
"../{index}/", "../${index}/",
}} }}
); );
} }
?>""" ?>"""
env.Command('doxy-header.html', None, writeTemplate, env.Command('doxy-header.html', None, writeTemplate,
TEMPLATE = HEADER, TEMPLATE = Literal(HEADER),
TITLE = "Documentation and API reference") TITLE = "Documentation and API reference")
env.Command('doxy-header-overview.html', None, writeTemplate, env.Command('doxy-header-overview.html', None, writeTemplate,
TEMPLATE = HEADER+OVERVIEW_EXTRA_HEADER, TEMPLATE = Literal(HEADER+OVERVIEW_EXTRA_HEADER),
TITLE = "Introduction and Overview") TITLE = "Introduction and Overview")
env.Command('doxy-footer.html', None, writeTemplate, env.Command('doxy-footer.html', None, writeTemplate,
TEMPLATE = FOOTER) TEMPLATE = Literal(FOOTER))
env.Alias('all_docs', env.Alias('all_docs',
env.Command('search.php', 'html-munge.xsl', env.Command('search.php', 'html-munge.xsl',
[ writeTemplate, [ writeTemplate,
'xsltproc --nonet --html --stringparam topdir .. -o - $SOURCE $TARGET 2>/dev/null' 'xsltproc --nonet --html --stringparam topdir .. -o - $SOURCE $TARGET 2>/dev/null'
+ r'| sed -e "s/\[\[/<?/g" -e "s/\]\]/?>/g" > ${TARGET}.tmp', + r'| sed -e "s/\[\[/<?/g" -e "s/\]\]/?>/g" > ${TARGET}.tmp',
'mv ${TARGET}.tmp ${TARGET}' ], 'mv ${TARGET}.tmp ${TARGET}' ],
TEMPLATE = (HEADER TEMPLATE = Literal(HEADER
+ OVERVIEW_EXTRA_HEADER + OVERVIEW_EXTRA_HEADER
+ SEARCH_PHP.replace('<?','[[').replace('?>',']]') + SEARCH_PHP.replace('<?','[[').replace('?>',']]')
+ FOOTER), + FOOTER),
TITLE = "Search results")) TITLE = "Search results"))
env.Alias('all_docs', env.Alias('all_docs',
env.Command('search_paths.php', None, writeTemplate, env.Command('search_paths.php', None, writeTemplate,
TEMPLATE = SEARCH_PATHS_PHP)) TEMPLATE = Literal(SEARCH_PATHS_PHP)))
...@@ -79,7 +79,7 @@ class copier: ...@@ -79,7 +79,7 @@ class copier:
self.locals['_bl'] = block self.locals['_bl'] = block
self.copyblock() self.copyblock()
_RE_EXPR = re.compile('{([^{}]+)}') _RE_EXPR = re.compile('\${([^{}]+)}')
_RE_BEGIN = re.compile('{{') _RE_BEGIN = re.compile('{{')
_RE_END = re.compile('}}') _RE_END = re.compile('}}')
_RE_CONT = re.compile(r'\|\|') _RE_CONT = re.compile(r'\|\|')
...@@ -87,8 +87,6 @@ _RE_CONT = re.compile(r'\|\|') ...@@ -87,8 +87,6 @@ _RE_CONT = re.compile(r'\|\|')
def process(text,*args): def process(text,*args):
vardict = {} vardict = {}
for arg in args : vardict.update(arg) for arg in args : vardict.update(arg)
vardict['obr'] = '{'
vardict['cbr'] = '}'
output = StringIO() output = StringIO()
c = copier(_RE_EXPR, vardict, _RE_BEGIN, _RE_END, _RE_CONT, c = copier(_RE_EXPR, vardict, _RE_BEGIN, _RE_END, _RE_CONT,
ouf = output) ouf = output)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment