]> jfr.im git - irc/quakenet/qwebirc.git/blob - qwebirc/root.py
Add admin engine and reorganise a lot of directory structure.
[irc/quakenet/qwebirc.git] / qwebirc / root.py
1 import engines
2 from twisted.web import resource, server, static
3 import mimetypes
4
5 class RootResource(resource.Resource):
6 def getChild(self, name, request):
7 if name == "":
8 name = "qui.html"
9 return self.primaryChild.getChild(name, request)
10
11 class RootSite(server.Site):
12 def __init__(self, path, *args, **kwargs):
13 root = RootResource()
14 server.Site.__init__(self, root, *args, **kwargs)
15
16 services = {}
17 services["StaticEngine"] = root.primaryChild = engines.StaticEngine(path)
18
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
29 mimetypes.types_map[".ico"] = "image/vnd.microsoft.icon"