

import random

from twisted.application import service
from twisted.application import internet

from nevow import renderer
from nevow import appserver


class Mine(renderer.HTMLRenderer):
    def render_foo(self, context, data):
        return context.keyed(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 []

    def render_nicelist(self, ctx, data):
        return renderer.HTMLRenderer(templateFile="NiceList.html")


application = service.Application("templatetest")
internet.TCPServer(
    8080, 
    appserver.NevowSite(
        Mine(
            templateFile = "Hello.html"
        )
    )
).setServiceParent(application)
