def initiate(self, request, to, from_=None): """ Initiates a stream to a remote entity. :param request: Request to send. :param to: Destination JID. :param from_: Source JID. """ fform = FeatureForm(methods=self.streams.keys(), type_='form') feature = Feature(methods=fform) request.feature = feature if from_ is None: from_ = self.dispatcher.myjid iq = Iq(from_=from_, to=to, type_='set') request.id_ = sid = unicode(uuid.uuid4()) iq.link(request) result = yield self.dispatcher.send(iq) form = FeatureForm.createFromElement(result.feature.methods, methods=self.streams.keys()) form.validate() method = form.stream_method.value stream = self.streams[method] yield stream.requestStream(to, lambda _buf, _meta:None, sid, from_=from_) defer.returnValue((stream, sid))
def set(self, vcard): """ Set my own vcard (for clients). :returns: query.iq.deferred """ query = copy.copy(vcard) iq = Iq(type_='set') iq.link(query) self.dispatcher.send(query.iq) return query.iq.deferred
def set(self, vcard): """ Set my own vcard (for clients). :returns: query.iq.deferred """ query = copy.copy(vcard) iq = Iq(type_='set') iq.link(query) self.dispatcher.send(query.iq) return query.iq.deferred
def initiate(self, request, to, from_=None): fform = FeatureForm(methods=self.streams.keys(), type_='form') feature = Feature(methods=fform) request.feature = feature if from_ is None: from_ = self.dispatcher.myjid iq = Iq(from_=from_, to=to, type_='set') request.id_ = sid = unicode(uuid.uuid4()) iq.link(request) result = yield self.dispatcher.send(iq) form = FeatureForm.createFromElement(result.feature.methods, methods=self.streams.keys()) form.validate() method = form.stream_method.value stream = self.streams[method] yield stream.requestStream(to, lambda _buf, _meta: None, sid, from_=from_) defer.returnValue((stream, sid))
def set(self, vcard): query = copy.copy(vcard) iq = Iq(type_='set') iq.link(query) self.dispatcher.send(query.iq) return query.iq.deferred