src/ztfy/utils/zodb.py
branchZTK-1.1
changeset 172 cca95b4ff0c5
parent 171 0e8925323082
child 174 380f23a1587e
equal deleted inserted replaced
171:0e8925323082 172:cca95b4ff0c5
    50     storage = FieldProperty(IZEOConnection['storage'])
    50     storage = FieldProperty(IZEOConnection['storage'])
    51     username = FieldProperty(IZEOConnection['username'])
    51     username = FieldProperty(IZEOConnection['username'])
    52     password = FieldProperty(IZEOConnection['password'])
    52     password = FieldProperty(IZEOConnection['password'])
    53     server_realm = FieldProperty(IZEOConnection['server_realm'])
    53     server_realm = FieldProperty(IZEOConnection['server_realm'])
    54 
    54 
    55     def getJSONSettings(self):
    55     def getSettings(self):
       
    56         """Get settings dict"""
    56         result = []
    57         result = []
    57         for name in getFieldNames(IZEOConnection):
    58         for name in getFieldNames(IZEOConnection):
    58             result[name] = getattr(self, name)
    59             result[name] = getattr(self, name)
    59         return result
    60         return result
    60 
    61 
       
    62     def update(self, settings):
       
    63         assert isinstance(settings, dict)
       
    64         for key, value in settings.items():
       
    65             setattr(self, key, value if isinstance(value, int) else unicode(value))
       
    66 
    61     def getConnection(self, wait=False, get_storage=False):
    67     def getConnection(self, wait=False, get_storage=False):
    62         """Get a tuple made of storage and DB connection for given settings"""
    68         """Get a tuple made of storage and DB connection for given settings"""
    63         storage = ClientStorage.ClientStorage((str(self.server_name), self.server_port),
    69         storage = ClientStorage.ClientStorage((str(self.server_name), self.server_port),
    64                                               storage=self.server_storage,
    70                                               storage=self.storage,
    65                                               username=self.server_username or '',
    71                                               username=self.username or '',
    66                                               password=self.server_password or '',
    72                                               password=self.password or '',
    67                                               realm=self.server_realm,
    73                                               realm=self.server_realm,
    68                                               wait=wait)
    74                                               wait=wait)
    69         db = DB(storage)
    75         db = DB(storage)
    70         return (storage, db) if get_storage else db
    76         return (storage, db) if get_storage else db
    71 
    77