Viewing file: disktemplates_stan.py (2.41 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
import random
from twisted.application import service from twisted.application import internet
from nevow import inevow from nevow import appserver from nevow import loaders from nevow import rend from nevow import tags as T from nevow.stan import directive
class Mine(rend.Page):
addSlash = True docFactory = loaders.stan( T.html[ T.head[ T.title["This is title"] ], T.body[ T.h1(id="header")["Welcome"], T.ol(data=directive("theList"), render=directive("sequence"))[ T.span(pattern="header")["HEADER"], T.li(pattern="item")["Stuff: ",T.span(render=directive("string")), "!"], T.span(pattern="divider")["-----"], T.div(pattern="empty")["Nothing."], T.span(pattern="footer")["FOOTER"], ], T.ol(data=directive("empty"), render=directive("sequence"))[ T.span(pattern="header")["HEADER"], T.li(pattern="item")["Stuff: ",T.span(render=directive("string")), "!"], T.span(pattern="divider")["-----"], T.div(pattern="empty")["Nothing."], T.span(pattern="footer")["FOOTER"], ], T.span(render=directive("foo"))[ "This entire node, including the span tag, will be replaced by \ a randomly chosen node from below:", T.div(pattern="one", style="color: red")["one"], T.table(pattern="two")[ T.tr[T.td["two"],T.td["two"],T.td["two"]] ], T.ol(pattern="three")[ T.li["three"], T.li["three"], T.li["three"], ] ] ] ] )
def render_foo(self, context, data): return inevow.IQ(context).onePattern(random.choice(['one', 'two', 'three']))
def data_theList(self, context, data): return [random.randint(0, 5000) for x in range(random.randint(0, 10))]
def data_empty(self, context, data): return []
application = service.Application("disktemplates") internet.TCPServer( 8080, appserver.NevowSite( Mine() ) ).setServiceParent(application)
|