diff -r 0e8925323082 -r 7164eb24f949 src/ztfy/utils/zodb.py --- 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)