Mercurial > libervia-pubsub
changeset 124:c4ee16bc48e5
Change Node.set_configuration() to set cached configuration in a callback.
author | Ralph Meijer <ralphm@ik.nu> |
---|---|
date | Tue, 12 Apr 2005 12:34:25 +0000 |
parents | 8f99b4f7aea2 |
children | 0d7b95fb2549 |
files | idavoll/pgsql_storage.py |
diffstat | 1 files changed, 7 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/idavoll/pgsql_storage.py Tue Apr 12 12:28:07 2005 +0000 +++ b/idavoll/pgsql_storage.py Tue Apr 12 12:34:25 2005 +0000 @@ -120,24 +120,25 @@ return self._config def set_configuration(self, options): - return self._dbpool.runInteraction(self._set_configuration, - options) - - def _set_configuration(self, cursor, options): - self._check_node_exists(cursor) - config = copy.copy(self._config) for option in options: if option in config: config[option] = options[option] + d = self._dbpool.runInteraction(self._set_configuration, config) + d.addCallback(self._set_cached_configuration, config) + return d + + def _set_configuration(self, cursor, config): + self._check_node_exists(cursor) cursor.execute("""UPDATE nodes SET persistent=%s, deliver_payload=%s WHERE node=%s""", (config["pubsub#persist_items"], config["pubsub#deliver_payloads"], self.id.encode('utf-8'))) + def _set_cached_configuration(self, void, config): self._config = config def get_meta_data(self):