Changeset 739
- Timestamp:
- 07/24/08 15:39:02 (4 months ago)
- Files:
-
- oss/headstock/headstock/api/pubsub.py (modified) (3 diffs)
- oss/headstock/headstock/protocol/extension/discovery.py (modified) (1 diff)
- oss/headstock/headstock/protocol/extension/pubsub.py (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
oss/headstock/headstock/api/pubsub.py
r730 r739 52 52 self.event = eventType 53 53 54 @property 55 def name(self): 56 return self.id 57 54 58 def __repr__(self): 55 59 return '<Item "%s" at %s>' % (self.id or '', hex(id(self)),) 56 60 61 class Message(Entity): 62 def __init__(self, from_jid, to_jid): 63 Entity.__init__(self, from_jid, to_jid) 64 self.node_name = None 65 self.items = [] 66 self.event = None 67 68 @staticmethod 69 def from_element(e): 70 msg = Message(JID.parse(e.get_attribute_value('from')), 71 JID.parse(e.get_attribute_value('to'))) 72 73 for c in e.xml_children: 74 if c.xml_ns == XMPP_PUBSUB_EVENT_NS: # x or event 75 for i in c.xml_children: 76 if i.xml_ns == XMPP_PUBSUB_EVENT_NS: # items 77 msg.node_name = i.get_attribute_value('node') 78 msg.event = i.xml_name 79 if msg.event == 'items': 80 for t in i.xml_children: # item 81 payload = None 82 if t.xml_children: 83 payload = t.xml_children 84 msg.items.append(Item(id=t.get_attribute_value('id'), 85 payload=payload, eventType=t.xml_name)) 86 87 return msg 57 88 58 89 class Node(Entity): … … 142 173 143 174 for i in e.xml_children: 144 if i.xml_ns in [XMPP_PUBSUB_ NS]:145 for p in i.xml_children: 146 if p.xml_ns in [XMPP_PUBSUB_ NS]:147 if p.xml_name == ' create':148 node.node_name = p.get_attribute_value('node') 175 if i.xml_ns in [XMPP_PUBSUB_OWNER_NS]: 176 for p in i.xml_children: 177 if p.xml_ns in [XMPP_PUBSUB_OWNER_NS]: 178 if p.xml_name == 'purge': 179 node.node_name = p.get_attribute_value('node') 149 180 elif i.xml_ns == XMPP_CLIENT_NS and i.xml_name == 'error': 150 181 node.error = Error.from_element(i) … … 316 347 317 348 318 class Message(Entity):319 def __init__(self, from_jid, to_jid):320 Entity.__init__(self, from_jid, to_jid)321 self.node_name = None322 self.items = []323 324 @staticmethod325 def from_element(e):326 msg = Message(JID.parse(e.get_attribute_value('from')),327 JID.parse(e.get_attribute_value('to')))328 329 for c in e.xml_children:330 if c.xml_ns == XMPP_PUBSUB_EVENT_NS: # x or event331 for i in c.xml_children:332 if i.xml_ns == XMPP_PUBSUB_EVENT_NS: # items333 msg.node_name = i.get_attribute_value('node')334 for t in i.xml_children: # item335 payload = None336 if t.xml_children:337 payload = t.xml_children[0]338 msg.items.append(Item(id=t.get_attribute_value('id'),339 payload=payload, eventType=t.xml_name))340 341 return msgoss/headstock/headstock/protocol/extension/discovery.py
r677 r739 94 94 mes = self.recv("control") 95 95 96 if isinstance(mes, shutdownMicroprocess) or isinstance(mes, producerFinished): 96 if isinstance(mes, shutdownMicroprocess) or \ 97 isinstance(mes, producerFinished): 97 98 self.send(producerFinished(), "signal") 98 99 break oss/headstock/headstock/protocol/extension/pubsub.py
r722 r739 274 274 mes = self.recv("control") 275 275 276 if isinstance(mes, shutdownMicroprocess) or isinstance(mes, producerFinished): 276 if isinstance(mes, shutdownMicroprocess) or \ 277 isinstance(mes, producerFinished): 277 278 self.send(producerFinished(), "signal") 278 279 break … … 287 288 e = a.xml_parent.xml_parent 288 289 self.send(('INCOMING', e), "log") 289 290 290 291 msg_type = e.get_attribute_value(u'type') or 'get' 291 292 key = 'xmpp.%s' % unicode(msg_type) … … 489 490 "unknown" : "Unknown element that could not be dispatched properly", 490 491 "xmpp.message" : "Activity requests", 492 "xmpp.message.purge" : "Activity requests", 491 493 } 492 494 … … 510 512 e = a.xml_parent 511 513 self.send(('INCOMING', e), "log") 512 self.send(Message.from_element(e), "xmpp.message") 513 514 515 m = Message.from_element(e) 516 517 if m.event == 'items': 518 self.send(m, "xmpp.message") 519 elif m.event == 'purge': 520 self.send(m, "xmpp.message.purge") 521 else: 522 self.send(e, "unknown") 523 514 524 if not self.anyReady(): 515 525 self.pause() … … 617 627 "out.retract.result" : "Retract item responses", 618 628 "out.retract.error" : "Retract item response error", 619 "out.message" : "Retract item requests",} 629 "out.message" : "Retract item requests", 630 "out.message.purge" : "Retract item requests",} 620 631 621 632 def __init__(self): … … 762 773 self.link((self, 'message.inbox'), (msgdisp, 'inbox'), passthrough=1) 763 774 self.link((msgdisp, 'xmpp.message'), (self, 'out.message'), passthrough=2) 775 self.link((msgdisp, 'xmpp.message.purge'), (self, 'out.message.purge'), passthrough=2) 776 self.link((msgdisp, 'unknown'), (self, 'unknown'), passthrough=2) 764 777 self.link((msgdisp, 'log'), (self, 'log'), passthrough=2) 765 778 self.addChildren(msgdisp)
