[Twisted-web] patch: default values for slots from html templates

Steven Armstrong sa at c-area.ch
Thu Mar 3 10:41:12 MST 2005


Hi all

I've found out lately that you can give a slot a default value when
using stan. Attached is a patch that enables that functionality for
xmlstring and xmlfile templates.

Stan:
T.span[T.slot("my_slot_name", default="Whatever")]

HTML:
<span><n:slot name="my_slot_name" default="Whatever" /></span>


regards
Steven
-------------- next part --------------
Index: nevow/flat/flatsax.py
===================================================================
--- nevow/flat/flatsax.py	(revision 1213)
+++ nevow/flat/flatsax.py	(working copy)
@@ -103,7 +103,7 @@
             if name == 'invisible':
                 name = ''
             elif name == 'slot':
-                el = slot(attrs[(None,'name')])
+                el = slot(attrs[(None,'name')], attrs.get((None, 'default'), None))
                 self.stack.append(el)
                 self.current.append(el)
                 self.current = el.children
Index: nevow/flat/flatmdom.py
===================================================================
--- nevow/flat/flatmdom.py	(revision 1213)
+++ nevow/flat/flatmdom.py	(working copy)
@@ -43,7 +43,7 @@
         if name == 'invisible':
             name = ''
         elif name == 'slot':
-            return slot(element.attributes['name'])[
+            return slot(element.attributes['name'], element.attributes.get("default", None))[
                 precompile(serialize(element.childNodes, context), context)]
     
     attrs = dict(element.attributes) # get rid of CaseInsensitiveDict


More information about the Twisted-web mailing list