def get_vcard(self, jid, callback=None): if not callback: callback = self.vcard_callback q = Iq(to_jid=jid.bare(), stanza_type='get') q.add_payload(VCardPayload()) self.stanza_processor.set_response_handlers(q, callback, callback) self.send(q)
def get_vcard(self, jid, callback): '''callback is used as both result handler and error handler''' q = Iq(to_jid=jid.bare(), stanza_type='get') vc = ET.Element("{vcard-temp}vCard") q.add_payload(vc) self.stanza_processor.set_response_handlers(q, callback, callback) self.send(q)
def _set_vcard(self, nick=None, avatar=None, stanza=None): #FIXME: This doesn't seem to work with jabber.org q = Iq( from_jid=self.jid, stanza_type='set', ) vc = ET.Element("{vcard-temp}vCard") if nick is not None: n = ET.SubElement(vc, '{vcard-temp}FN') n.text = nick if avatar is not None: type, picfile = avatar photo = ET.SubElement(vc, '{vcard-temp}PHOTO') t = ET.SubElement(photo, '{vcard-temp}TYPE') t.text = type d = ET.SubElement(photo, '{vcard-temp}BINVAL') data = open(picfile, 'rb').read() d.text = base64.b64encode(data).decode('ascii') self.avatar_hash = hashlib.new('sha1', data).hexdigest() q.add_payload(vc) self.stanza_processor.set_response_handlers(q, self._set_vcard_callback, self._set_vcard_callback) self.send(q)
def get_vcard(self, jid, callback): """callback is used as both result handler and error handler""" q = Iq(to_jid=jid.bare(), stanza_type="get") vc = ET.Element("{vcard-temp}vCard") q.add_payload(vc) self.stanza_processor.set_response_handlers(q, callback, callback) self.send(q)
def test_iq_set(self): iq = Iq(from_jid=JID("[email protected]/res"), to_jid=JID("*****@*****.**"), stanza_type="set", stanza_id=2) payload = ElementTree.Element("{http://pyxmpp.jajcus.net/xmlns/test}payload") ElementTree.SubElement(payload, "{http://pyxmpp.jajcus.net/xmlns/test}abc") payload = XMLPayload(payload) iq.add_payload(payload) self.check_iq3(iq) xml = iq.as_xml() self.check_iq3(Iq(xml))
def get_vcard(self, jid=None, callback=None): '''callback is used as both result handler and error handler''' q = Iq( to_jid = jid and jid.bare(), stanza_type = 'get', ) vc = ET.Element("{vcard-temp}vCard") q.add_payload(vc) if callback: self.stanza_processor.set_response_handlers(q, callback, callback) self.send(q)
def test_iq_set(self): iq = Iq(from_jid=JID("[email protected]/res"), to_jid=JID("*****@*****.**"), stanza_type="set", stanza_id=2) payload = ElementTree.Element( "{http://pyxmpp.jajcus.net/xmlns/test}payload") ElementTree.SubElement(payload, "{http://pyxmpp.jajcus.net/xmlns/test}abc") payload = XMLPayload(payload) iq.add_payload(payload) self.check_iq3(iq) xml = iq.as_xml() self.check_iq3(Iq(xml))
def _set_vcard(self, nick=None, avatar=None, stanza=None): #FIXME: This doesn't seem to work with jabber.org q = Iq( from_jid = self.jid, stanza_type = 'set', ) vc = ET.Element("{vcard-temp}vCard") if nick is not None: n = ET.SubElement(vc, '{vcard-temp}FN') n.text = nick if avatar is not None: type, picfile = avatar photo = ET.SubElement(vc, '{vcard-temp}PHOTO') t = ET.SubElement(photo, '{vcard-temp}TYPE') t.text = type d = ET.SubElement(photo, '{vcard-temp}BINVAL') data = open(picfile, 'rb').read() d.text = base64.b64encode(data).decode('ascii') self.avatar_hash = hashlib.new('sha1', data).hexdigest() q.add_payload(vc) self.stanza_processor.set_response_handlers( q, self._set_vcard_callback, self._set_vcard_callback) self.send(q)