def sendRosterImport(self, jid, ptype, sub, name="", groups=[]):
""" Sends a special presence packet. This will work with all clients, but clients that support roster-import will give a better user experience
IMPORTANT - Only ever use this for contacts that have already been authorised on the legacy service """
- el = Element((None, "presence"))
- el.attributes["to"] = self.jabberID
- el.attributes["from"] = jid
- el.attributes["type"] = ptype
- r = el.addElement("x")
- r.attributes["xmlns"] = disco.SUBSYNC
- item = r.addElement("item")
+ x = Element((None, "x"))
+ x.attributes["xmlns"] = disco.SUBSYNC
+ item = x.addElement("item")
item.attributes["subscription"] = sub
- if(name):
+ if name:
item.attributes["name"] = unicode(name)
for group in groups:
g = item.addElement("group")
g.addContent(group)
- self.pytrans.send(el)
+ self.sendPresence(to=self.jabberID, fro=jid, ptype=ptype, payload=[x])
def onMessage(self, el):
""" Handles incoming message packets """