from formless.annotate import * from formless import webform from nevow.tags import * from nevow import rend, loaders class IPerson(TypedInterface): class ContactInfo(TypedInterface): name = String() address = Text() phone = String() class Person(object): __implements__ = IPerson, class PersonPage(rend.Page): docFactory = loaders.stan(html[ webform.renderForms() ]) ## Startup glue from nevow import appserver from twisted.application import service from twisted.application import internet application = service.Application('person-editor') internet.TCPServer(8080, appserver.NevowSite(PersonPage(Person()))).setServiceParent(application)