src/ztfy/utils/zodb.py
branchZTK-1.1
changeset 173 7164eb24f949
parent 171 0e8925323082
child 174 380f23a1587e
--- a/src/ztfy/utils/zodb.py	Fri Sep 21 01:18:08 2012 +0200
+++ b/src/ztfy/utils/zodb.py	Mon Sep 24 08:49:04 2012 +0200
@@ -53,17 +53,23 @@
     server_realm = FieldProperty(IZEOConnection['server_realm'])
 
     def getJSONSettings(self):
-        result = []
+        result = {}
         for name in getFieldNames(IZEOConnection):
             result[name] = getattr(self, name)
         return result
 
+    def update(self, values):
+        names = getFieldNames(IZEOConnection)
+        for k, v in values.items():
+            if k in names:
+                setattr(self, k, unicode(v) if isinstance(v, str) else v)
+
     def getConnection(self, wait=False, get_storage=False):
         """Get a tuple made of storage and DB connection for given settings"""
         storage = ClientStorage.ClientStorage((str(self.server_name), self.server_port),
-                                              storage=self.server_storage,
-                                              username=self.server_username or '',
-                                              password=self.server_password or '',
+                                              storage=self.storage,
+                                              username=self.username or '',
+                                              password=self.password or '',
                                               realm=self.server_realm,
                                               wait=wait)
         db = DB(storage)