]> 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 20fd66f45769acf90ecdb38effccbf2a30da6e28..0d552c45228d556fabe2dd82246809df0e1bbaab 100644 (file)
@@ -1,8 +1,6 @@
-from ajaxengine import AJAXEngine
-from authgateengine import AuthgateEngine
-from feedbackengine import FeedbackEngine
-import mimetypes
+import engines
 from twisted.web import resource, server, static
+import mimetypes
 
 class RootResource(resource.Resource):
   def getChild(self, name, request):
@@ -15,10 +13,17 @@ class RootSite(server.Site):
     root = RootResource()
     server.Site.__init__(self, root, *args, **kwargs)
 
-    root.primaryChild = static.File(path)
-    root.putChild("e", AJAXEngine("/e"))
-    root.putChild("feedback", FeedbackEngine("/feedback"))
-    root.putChild("auth", AuthgateEngine("/auth"))
+    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"
-