]> jfr.im git - irc/quakenet/qwebirc.git/blobdiff - qwebirc/root.py
Add admin engine and reorganise a lot of directory structure.
[irc/quakenet/qwebirc.git] / qwebirc / root.py
index 46a1165ca91385560f8b8b42547044f4da2f10a7..0d552c45228d556fabe2dd82246809df0e1bbaab 100644 (file)
@@ -1,13 +1,29 @@
-from ajaxengine import AJAXEngine\r
-\r
-from twisted.web import resource, server, static\r
-\r
-class RootSite(resource.Resource):\r
-  def getChild(self, name, request):\r
-    if name == '':\r
-      return self\r
-      \r
-    return Resource.getChild(self, name, request)\r
-    \r
-  def render_GET(self, request):\r
-    return "Hi"\r
+import engines
+from twisted.web import resource, server, static
+import mimetypes
+
+class RootResource(resource.Resource):
+  def getChild(self, name, request):
+    if name == "":
+      name = "qui.html"
+    return self.primaryChild.getChild(name, request)
+
+class RootSite(server.Site):
+  def __init__(self, path, *args, **kwargs):
+    root = RootResource()
+    server.Site.__init__(self, root, *args, **kwargs)
+
+    services = {}
+    services["StaticEngine"] = root.primaryChild = engines.StaticEngine(path)
+
+    def register(service, path, *args, **kwargs):
+      sobj = service("/" + path, *args, **kwargs)
+      services[service.__name__] = sobj
+      root.putChild(path, sobj)
+      
+    register(engines.AJAXEngine, "e")
+    register(engines.FeedbackEngine, "feedback")
+    register(engines.AuthgateEngine, "auth")
+    register(engines.AdminEngine, "adminengine", services)
+    
+mimetypes.types_map[".ico"] = "image/vnd.microsoft.icon"