from twisted.cred import portal, checkers, credentials ## Shut the fuck up! import warnings from twisted.python import components warnings.filterwarnings('ignore', category=components.ComponentsDeprecationWarning) from twisted.application import internet, service from nevow import appserver, inevow, guard from zope import interface import pavel class TheRealm(object): interface.implements(portal.IRealm) def __init__(self): self.pavel = pavel.PavelPageServer() def requestAvatar(self, avatarId, mind, *interfaces): if inevow.IResource in interfaces: return inevow.IResource, self.pavel, lambda: None raise NotImplementedError("Can't support that interface.") realm = TheRealm() port = portal.Portal(realm) port.registerChecker(checkers.AllowAnonymousAccess(), credentials.IAnonymous) sess = guard.SessionWrapper(port, useCookies=False) site = appserver.NevowSite(sess, logPath='web.log') site.remember(pavel.Colors(), pavel.IColors) application = service.Application('pavel') internet.TCPServer( 8080, site ).setServiceParent(application)