From bbb546402f97be0e1b71a20f59509c4c9ca17db9 Mon Sep 17 00:00:00 2001 From: Goffi Date: Mon, 31 Mar 2014 16:08:15 +0200 Subject: [PATCH] plugin XEP-0065: fixed initialisation sequence --- src/plugins/plugin_xep_0065.py | 34 ++++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/src/plugins/plugin_xep_0065.py b/src/plugins/plugin_xep_0065.py index 5fac7ed0..c05cd3ea 100755 --- a/src/plugins/plugin_xep_0065.py +++ b/src/plugins/plugin_xep_0065.py @@ -787,22 +787,24 @@ class XEP_0065_handler(XMPPHandler): "File Transfer", profile_key=self.parent.profile) def connectionInitialized(self): - self.xmlstream.addObserver(BS_REQUEST, self.plugin_parent.streamQuery, profile=self.parent.profile) - proxy = self.host.memory.getParamA("Proxy", "File Transfer", profile_key=self.parent.profile) - if not proxy: - def proxiesFound(entities): - try: - proxy_ent = entities.pop() - except KeyError: - info(_("No proxy found on this server")) - return - iq_elt = jabber_client.IQ(self.parent.xmlstream, 'get') - iq_elt["to"] = proxy_ent.full() - iq_elt.addElement('query', NS_BS) - iq_elt.addCallback(self._proxyDataResult) - iq_elt.send() - d = self.host.findServiceEntities("proxy", "bytestreams", profile_key=self.parent.profile) - d.addCallback(proxiesFound) + def connection_ok(dummy): + self.xmlstream.addObserver(BS_REQUEST, self.plugin_parent.streamQuery, profile=self.parent.profile) + proxy = self.host.memory.getParamA("Proxy", "File Transfer", profile_key=self.parent.profile) + if not proxy: + def proxiesFound(entities): + try: + proxy_ent = entities.pop() + except KeyError: + info(_("No proxy found on this server")) + return + iq_elt = jabber_client.IQ(self.parent.xmlstream, 'get') + iq_elt["to"] = proxy_ent.full() + iq_elt.addElement('query', NS_BS) + iq_elt.addCallback(self._proxyDataResult) + iq_elt.send() + d = self.host.findServiceEntities("proxy", "bytestreams", profile_key=self.parent.profile) + d.addCallback(proxiesFound) + self.parent.getConnectionDeferred().addCallback(connection_ok) def getDiscoInfo(self, requestor, target, nodeIdentifier=''):