

from twisted.application import service, internet
from twisted.cred import portal, checkers, credentials

from nevow import appserver, guard, liveevil

import moose


realm = moose.MooseRealm()
portal = portal.Portal(realm)
portal.registerChecker(checkers.AllowAnonymousAccess(), credentials.IAnonymous)
portal.registerChecker(moose.MooCredChecker(), moose.IMooCredentials)


site = appserver.NevowSite(
    moose.MooGuard(portal, mindFactory=liveevil.LiveEvil)
)

application = service.Application("moose")
internet.TCPServer(8080, site).setServiceParent(application)
