Port functions to Mako
authorQuentin Smith <quentin@mit.edu>
Sun, 9 Aug 2009 22:45:24 +0000 (18:45 -0400)
committerQuentin Smith <quentin@mit.edu>
Sun, 9 Aug 2009 22:45:24 +0000 (18:45 -0400)
svn path=/package_branches/invirt-web/cherrypy-rebased/; revision=2667

code/templates/functions.mako [new file with mode: 0644]
code/templates/functions.tmpl [deleted file]
code/templates/skeleton.mako

diff --git a/code/templates/functions.mako b/code/templates/functions.mako
new file mode 100644 (file)
index 0000000..99c0d30
--- /dev/null
@@ -0,0 +1,41 @@
+<%page expression_filter="h"/>
+<%def name="databaseList(lst, default, onchange, name, id, valueattr, descattr)">
+<select name="${name}" id="${id}" \
+% if onchange:
+onchange="${onchange}"\
+% endif
+>
+  <option ${'' if default else 'selected'} value="">None</option>
+  %for item in lst:
+  <option ${'selected' if default == getattr(item, valueattr) else ''} value="${getattr(item, valueattr)}">
+    ${getattr(item, descattr)}
+  </option>
+  % endfor
+</select>
+</%def>
+
+<%def name="cdromList(default='', onchange=None)">
+${databaseList(sorted(database.CDROM.query(), key=lambda x: x.description),
+               default, onchange, 'cdrom', 'cdromlist', 'cdrom_id', 'description')|n}
+</%def>
+
+<%def name="autoList(default='', onchange=None)">
+${databaseList(sorted(database.Autoinstall.query(), key=lambda x: x.description),
+               default, onchange, 'autoinstall', 'autoinstalllist', 'autoinstall_id', 'description')|n}
+</%def>
+
+<%def name="vmTypeList(default=None)">
+% for vmtype in (('linux-hvm', 'HVM'), ('linux', 'ParaVM'), ):
+<label>
+   <input ${'checked="checked"' if default == vmtype[0] else ''} type="radio" name="vmtype" id="vmtype-${vmtype[0]}" value="${vmtype[0]}">${vmtype[1]}</input>
+</label>
+% endfor
+</%def>
+
+<%def name="errorRow(value, err)">
+% if err and err.err_field == value:
+<tr>
+<td class="error" colspan="2">${str(err)}</td>
+</tr>
+% endif
+</%def>
diff --git a/code/templates/functions.tmpl b/code/templates/functions.tmpl
deleted file mode 100644 (file)
index 305b4e8..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-#filter WebSafe
-#def databaseList($lst, $default, $onchange, $name, $id, $valueattr, $descattr)
-<select name="$name" id="$id"#slurp
-#if $onchange is not None
-onchange="$onchange"#slurp
-#end if
->
-  <option #slurp
-#if $default then '' else 'selected'
- value="">None</option>
-  #for $item in $lst
-  <option #slurp
-#if $default == getattr(item, valueattr) then 'selected' else ''
- value="${getattr(item, valueattr)}">
-    ${getattr(item, descattr)}
-  </option>
-  #end for
-</select>
-#end def
-
-#def cdromList($default="", $onchange=None)
-#filter None
-$databaseList(sorted($database.CDROM.query(), key=lambda x: x.description),
-              default, onchange, 'cdrom', 'cdromlist', 'cdrom_id', 'description')
-#end filter
-#end def
-
-#def autoList($default="", $onchange=None)
-#filter None
-$databaseList(sorted($database.Autoinstall.query(), key=lambda x: x.description),
-              default, onchange, 'autoinstall', 'autoinstalllist', 'autoinstall_id', 'description')
-#end filter
-#end def
-
-#def vmTypeList($default=None)
-#for $vmtype in (('linux-hvm', 'HVM'), ('linux', 'ParaVM'), )
-<label>
-   <input #slurp
-#if $default == $vmtype[0] then 'checked="checked"' else ''
- type="radio" name="vmtype" id="vmtype-${vmtype[0]}" value="${vmtype[0]}">${vmtype[1]}</input>
-</label>
-#end for
-#end def
-
-#def addError(txt)
-#if $varExists('txt')
-#set global $error_text = $error_text + '----\n' + $txt
-#else
-#set global $error_text = $txt
-#end if
-#end def
-
-#def errorRow($value, $err)
-#if $err and $err.err_field == $value
-<tr>
-<td class="error" colspan="2">${str($err)}</td>
-</tr>
-#end if
-#end def
-#filter None
-$full_body
-#end filter
-#end filter
index 0fd67e3..d602252 100644 (file)
@@ -1,4 +1,5 @@
 <%page expression_filter="h"/>
 <%page expression_filter="h"/>
+<%namespace name="fn" file="functions.mako" inheritable="True"/>
 <!DOCTYPE html
 PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <!DOCTYPE html
 PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">