diff idavoll/idavoll.py @ 42:7d088c61e131

Make choice of backend an option to mktap. This includes the database configuration.
author Ralph Meijer <ralphm@ik.nu>
date Sun, 31 Oct 2004 21:12:55 +0000
parents c51bca11699b
children 9685b7e291ef
line wrap: on
line diff
--- a/idavoll/idavoll.py	Sun Oct 31 21:11:03 2004 +0000
+++ b/idavoll/idavoll.py	Sun Oct 31 21:12:55 2004 +0000
@@ -2,7 +2,6 @@
 from twisted.application import service
 from twisted.python import components
 import backend
-import memory_backend
 import pubsub
 import xmpp_error
 
@@ -88,8 +87,14 @@
     sm = component.buildServiceManager(config["jid"], config["secret"],
             ("tcp:%s:%s" % (config["rhost"], config["rport"])))
 
-    b = memory_backend
-    bs = b.BackendService()
+    if config['backend'] == 'pgsql':
+        import pgsql_backend as b
+        st = b.Storage(user=config['dbuser'], database=config['dbname'])
+        bs = b.BackendService(st)
+    elif config['backend'] == 'memory':
+        import memory_backend as b
+        bs = b.BackendService()
+
 
     component.IService(bs).setServiceParent(sm)
 
@@ -101,13 +106,14 @@
     bsc.setServiceParent(bs)
     component.IService(bsc).setServiceParent(sm)
 
-    bsc = b.NodeCreationService()
-    bsc.setServiceParent(bs)
-    component.IService(bsc).setServiceParent(sm)
+    if config['backend'] == 'memory':
+        bsc = b.NodeCreationService()
+        bsc.setServiceParent(bs)
+        component.IService(bsc).setServiceParent(sm)
 
-    bsc = b.SubscriptionService()
-    bsc.setServiceParent(bs)
-    component.IService(bsc).setServiceParent(sm)
+        bsc = b.SubscriptionService()
+        bsc.setServiceParent(bs)
+        component.IService(bsc).setServiceParent(sm)
 
     s = IdavollService()
     s.setServiceParent(sm)