Mercurial > libervia-pubsub
comparison idavoll/pubsub.py @ 83:f3f31aa491df
Fix handling of node creation.
Announce pubsub#retrieve-items disco feature in
ComponentServiceFromItemRetrievalService.
author | Ralph Meijer <ralphm@ik.nu> |
---|---|
date | Tue, 09 Nov 2004 15:57:23 +0000 |
parents | 995ba223a43b |
children | ec557449d1aa |
comparison
equal
deleted
inserted
replaced
82:758cb81b97ce | 83:f3f31aa491df |
---|---|
302 d = self.backend.create_node(node, owner) | 302 d = self.backend.create_node(node, owner) |
303 d.addCallback(self.return_create_response, iq) | 303 d.addCallback(self.return_create_response, iq) |
304 return d | 304 return d |
305 | 305 |
306 def return_create_response(self, result, iq): | 306 def return_create_response(self, result, iq): |
307 if iq.pubsub.create["node"] is None: | 307 node_id = iq.pubsub.create.getAttribute("node") |
308 if not node_id or node_id != result: | |
308 reply = domish.Element((NS_PUBSUB, 'pubsub')) | 309 reply = domish.Element((NS_PUBSUB, 'pubsub')) |
309 entity = reply.addElement('create') | 310 entity = reply.addElement('create') |
310 entity['node'] = result['node_id'] | 311 entity['node'] = result |
311 return [reply] | 312 return [reply] |
312 | 313 |
313 def onConfigureGet(self, iq): | 314 def onConfigureGet(self, iq): |
314 self.handler_wrapper(self._onConfigureGet, iq) | 315 self.handler_wrapper(self._onConfigureGet, iq) |
315 | 316 |
352 | 353 |
353 class ComponentServiceFromItemRetrievalService(Service): | 354 class ComponentServiceFromItemRetrievalService(Service): |
354 | 355 |
355 def componentConnected(self, xmlstream): | 356 def componentConnected(self, xmlstream): |
356 xmlstream.addObserver(PUBSUB_ITEMS, self.onItems) | 357 xmlstream.addObserver(PUBSUB_ITEMS, self.onItems) |
358 | |
359 def get_disco_info(self, node): | |
360 info = [] | |
361 | |
362 if not node: | |
363 info.append(disco.Feature(NS_PUBSUB + "#retrieve-items")) | |
364 | |
365 return defer.succeed(info) | |
357 | 366 |
358 def onItems(self, iq): | 367 def onItems(self, iq): |
359 self.handler_wrapper(self._onItems, iq) | 368 self.handler_wrapper(self._onItems, iq) |
360 | 369 |
361 def _onItems(self, iq): | 370 def _onItems(self, iq): |