changeset 1d0891a3b1ec in /home/hg/repos/gajim
branches: gtk3
details:http://hg.gajim.org/gajim?cmd=changeset;node=1d0891a3b1ec
description: discover server of our contacts on startup if it's not already
done.
diffstat:
src/common/connection_handlers.py | 13 +++++++++++++
1 files changed, 13 insertions(+), 0 deletions(-)
diffs (37 lines):
diff -r 3983c75f7987 -r 1d0891a3b1ec src/common/connection_handlers.py
--- a/src/common/connection_handlers.py Sun Jun 02 21:02:33 2013 +0200
+++ b/src/common/connection_handlers.py Sun Jun 02 22:02:43 2013 +0200
@@ -33,6 +33,7 @@
import sys
import operator
import hashlib
+import gobject
from time import (altzone, daylight, gmtime, localtime, mktime, strftime,
time as time_time, timezone, tzname)
@@ -559,6 +560,7 @@
self.discover_ft_proxies()
gajim.nec.push_incoming_event(RosterReceivedEvent(None,
conn=self))
+ gobject.timeout_add_seconds(10, self.discover_servers)
elif self.awaiting_answers[id_][0] == PRIVACY_ARRIVED:
if iq_obj.getType() != 'error':
self.privacy_rules_supported = True
@@ -2062,6 +2064,17 @@
gajim.proxy65_manager.resolve(proxy, self.connection, our_jid,
testit=testit)
+ def discover_servers(self):
+ if not self.connection:
+ return
+ servers = []
+ for c in gajim.contacts.iter_contacts(self.name):
+ s = gajim.get_server_from_jid(c.jid)
+ if s not in servers and s not in gajim.transport_type:
+ servers.append(s)
+ for s in servers:
+ self.discoverInfo(s)
+
def _on_roster_set(self, roster):
gajim.nec.push_incoming_event(RosterReceivedEvent(None, conn=self,
xmpp_roster=roster))
_______________________________________________
Commits mailing list
[email protected]
http://lists.gajim.org/cgi-bin/listinfo/commits