]> jfr.im git - irc/quakenet/qwebirc.git/blame - qwebirc/root.py
Change the way timeouts are processed entirely to make the entire system more resilient.
[irc/quakenet/qwebirc.git] / qwebirc / root.py
CommitLineData
85f01e3f 1import engines
9e769c12 2from twisted.web import resource, server, static
85f01e3f 3import mimetypes
9e769c12
CP
4
5class RootResource(resource.Resource):
d65fe45f
CP
6 def getChild(self, name, request):
7 if name == "":
2b8e1a88 8 name = "qui.html"
d65fe45f
CP
9 return self.primaryChild.getChild(name, request)
10
9e769c12
CP
11class RootSite(server.Site):
12 def __init__(self, path, *args, **kwargs):
d65fe45f 13 root = RootResource()
9e769c12 14 server.Site.__init__(self, root, *args, **kwargs)
d65fe45f 15
85f01e3f
CP
16 services = {}
17 services["StaticEngine"] = root.primaryChild = engines.StaticEngine(path)
28c8008e 18
85f01e3f
CP
19 def register(service, path, *args, **kwargs):
20 sobj = service("/" + path, *args, **kwargs)
21 services[service.__name__] = sobj
22 root.putChild(path, sobj)
23
24 register(engines.AJAXEngine, "e")
25 register(engines.FeedbackEngine, "feedback")
26 register(engines.AuthgateEngine, "auth")
27 register(engines.AdminEngine, "adminengine", services)
28
28c8008e 29mimetypes.types_map[".ico"] = "image/vnd.microsoft.icon"