1
2 from spade import SpadeConfigParser
3 from spade import XMLCodec
4 from spade import ACLParser
5 from xmpp import *
6
8
22
25
26
27
28 - def send(self, envelope, payload):
30
34
35
37 """
38 xc = XMLCodec.XMLCodec()
39 envxml = xc.encodeXML(envelope)
40
41 xenv = protocol.Node('jabber:x:fipa x')
42 xenv['content-type']='fipa.mts.env.rep.xml.std'
43 xenv.addData(envxml)
44 """
45
46
47 p = ACLParser.ACLParser()
48 msg = p.parse(payload)
49
50
51
52
53
54 try:
55 for recv in msg.getReceivers():
56 jabber_id = ""
57 for addr in recv.getAddresses():
58 if "xmpp" in addr:
59 jabber_id = addr
60 break
61 if not jabber_id:
62 jabber_id = "xmpp://"+str(recv.getName())
63
64 recv.addAddress(jabber_id)
65
66 self.acc.send(msg, "jabber")
67
68 except:
69 self.acc.send(msg, "jabber")
70
71 """
72 for to in envelope.getTo():
73
74 stanza = protocol.Message(to.getName(),payload, xmlns="")
75 stanza.addChild(node=xenv)
76
77 #s=None
78 #s = self.acc._router._owner.getsession(to.getName())
79 self.acc.send(stanza)
80 print ">>>MTP: sent message to ", str(to)
81 #print ">>>MTP: found session " + str(s) + "for " + str(to.getName())
82 #if s:
83 # s.enqueue(stanza)
84 # s.push_queue()
85 """
86
87
88
89 PROTOCOL = None
90 INSTANCE = None
91