From 4fb77ac8787422169566d613562127acf75a427b Mon Sep 17 00:00:00 2001 From: Lance Stout Date: Sat, 6 Nov 2010 01:28:59 -0400 Subject: Logging no longer uses root logger. Each module should now log into its own logger. --- sleekxmpp/clientxmpp.py | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) (limited to 'sleekxmpp/clientxmpp.py') diff --git a/sleekxmpp/clientxmpp.py b/sleekxmpp/clientxmpp.py index dc4d0e4a..a88c5ccb 100644 --- a/sleekxmpp/clientxmpp.py +++ b/sleekxmpp/clientxmpp.py @@ -32,6 +32,9 @@ except: SRV_SUPPORT = False +log = logging.getLogger(__name__) + + class ClientXMPP(BaseXMPP): """ @@ -133,7 +136,7 @@ class ClientXMPP(BaseXMPP): def _session_timeout_check(self): if not self.session_started_event.isSet(): - logging.debug("Session start has taken more than 15 seconds") + log.debug("Session start has taken more than 15 seconds") self.disconnect(reconnect=self.auto_reconnect) def connect(self, address=tuple()): @@ -150,19 +153,19 @@ class ClientXMPP(BaseXMPP): self.session_started_event.clear() if not address or len(address) < 2: if not self.srv_support: - logging.debug("Did not supply (address, port) to connect" + \ + log.debug("Did not supply (address, port) to connect" + \ " to and no SRV support is installed" + \ " (http://www.dnspython.org)." + \ " Continuing to attempt connection, using" + \ " server hostname from JID.") else: - logging.debug("Since no address is supplied," + \ + log.debug("Since no address is supplied," + \ "attempting SRV lookup.") try: xmpp_srv = "_xmpp-client._tcp.%s" % self.server answers = dns.resolver.query(xmpp_srv, dns.rdatatype.SRV) except dns.resolver.NXDOMAIN: - logging.debug("No appropriate SRV record found." + \ + log.debug("No appropriate SRV record found." + \ " Using JID server name.") else: # Pick a random server, weighted by priority. @@ -276,7 +279,7 @@ class ClientXMPP(BaseXMPP): self.send_xml(xml) return True else: - logging.warning("The module tlslite is required to log in" +\ + log.warning("The module tlslite is required to log in" +\ " to some servers, and has not been found.") return False @@ -286,7 +289,7 @@ class ClientXMPP(BaseXMPP): Restarts the stream. """ - logging.debug("Starting TLS") + log.debug("Starting TLS") if self.start_tls(): raise RestartStream() @@ -300,7 +303,7 @@ class ClientXMPP(BaseXMPP): if '{urn:ietf:params:xml:ns:xmpp-tls}starttls' in self.features: return False - logging.debug("Starting SASL Auth") + log.debug("Starting SASL Auth") sasl_ns = 'urn:ietf:params:xml:ns:xmpp-sasl' self.add_handler("" % sasl_ns, self._handle_auth_success, @@ -334,7 +337,7 @@ class ClientXMPP(BaseXMPP): sasl_ns, 'ANONYMOUS')) else: - logging.error("No appropriate login method.") + log.error("No appropriate login method.") self.disconnect() return True @@ -356,7 +359,7 @@ class ClientXMPP(BaseXMPP): Arguments: xml -- The SASL authentication failure element. """ - logging.info("Authentication failed.") + log.info("Authentication failed.") self.event("failed_auth", direct=True) self.disconnect() @@ -367,7 +370,7 @@ class ClientXMPP(BaseXMPP): Arguments: xml -- The bind feature element. """ - logging.debug("Requesting resource: %s" % self.boundjid.resource) + log.debug("Requesting resource: %s" % self.boundjid.resource) xml.clear() iq = self.Iq(stype='set') if self.boundjid.resource: @@ -381,10 +384,10 @@ class ClientXMPP(BaseXMPP): self.set_jid(response.xml.find('{%s}bind/{%s}jid' % (bind_ns, bind_ns)).text) self.bound = True - logging.info("Node set to: %s" % self.boundjid.fulljid) + log.info("Node set to: %s" % self.boundjid.fulljid) session_ns = 'urn:ietf:params:xml:ns:xmpp-session' if "{%s}session" % session_ns not in self.features or self.bindfail: - logging.debug("Established Session") + log.debug("Established Session") self.sessionstarted = True self.session_started_event.set() self.event("session_start") @@ -399,7 +402,7 @@ class ClientXMPP(BaseXMPP): if self.authenticated and self.bound: iq = self.makeIqSet(xml) response = iq.send() - logging.debug("Established Session") + log.debug("Established Session") self.sessionstarted = True self.session_started_event.set() self.event("session_start") -- cgit v1.2.3 From 9dbf246f0bfcac2c4ce538431ee629f126c86447 Mon Sep 17 00:00:00 2001 From: Florent Le Coz Date: Mon, 8 Nov 2010 09:14:17 +0800 Subject: Doesn't fail if host has NO SRV record Just catch an other exception type coming from the dns resolver that could be raised with hosts like "anon.example.com" which just don't have any SRV record. --- sleekxmpp/clientxmpp.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'sleekxmpp/clientxmpp.py') diff --git a/sleekxmpp/clientxmpp.py b/sleekxmpp/clientxmpp.py index a88c5ccb..1c600812 100644 --- a/sleekxmpp/clientxmpp.py +++ b/sleekxmpp/clientxmpp.py @@ -164,7 +164,7 @@ class ClientXMPP(BaseXMPP): try: xmpp_srv = "_xmpp-client._tcp.%s" % self.server answers = dns.resolver.query(xmpp_srv, dns.rdatatype.SRV) - except dns.resolver.NXDOMAIN: + except (dns.resolver.NXDOMAIN, dns.resolver.NoAnswer): log.debug("No appropriate SRV record found." + \ " Using JID server name.") else: -- cgit v1.2.3 From 673545c7e48d86b02f811ad239ed317e4bca0bbc Mon Sep 17 00:00:00 2001 From: Lance Stout Date: Tue, 26 Oct 2010 23:47:17 -0400 Subject: First pass at integrating the new roster manager. --- sleekxmpp/clientxmpp.py | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) (limited to 'sleekxmpp/clientxmpp.py') diff --git a/sleekxmpp/clientxmpp.py b/sleekxmpp/clientxmpp.py index 1c600812..8b8f05f6 100644 --- a/sleekxmpp/clientxmpp.py +++ b/sleekxmpp/clientxmpp.py @@ -66,7 +66,7 @@ class ClientXMPP(BaseXMPP): when calling register_plugins. escape_quotes -- Deprecated. """ - BaseXMPP.__init__(self, 'jabber:client') + BaseXMPP.__init__(self, jid, 'jabber:client') # To comply with PEP8, method names now use underscores. # Deprecated method names are re-mapped for backwards compatibility. @@ -75,7 +75,6 @@ class ClientXMPP(BaseXMPP): self.getRoster = self.get_roster self.registerFeature = self.register_feature - self.set_jid(jid) self.password = password self.escape_quotes = escape_quotes self.plugin_config = plugin_config @@ -421,13 +420,13 @@ class ClientXMPP(BaseXMPP): """ if iq['type'] == 'set' or (iq['type'] == 'result' and request): for jid in iq['roster']['items']: - if not jid in self.roster: - self.roster[jid] = {'groups': [], - 'name': '', - 'subscription': 'none', - 'presence': {}, - 'in_roster': True} - self.roster[jid].update(iq['roster']['items'][jid]) + item = iq['roster']['items'][jid] + roster = self.rosters[iq['to'].bare] + roster[jid]['name'] = item['name'] + roster[jid]['groups'] = item['groups'] + roster[jid]['from'] = item['subscription'] in ['from', 'both'] + roster[jid]['to'] = item['subscription'] in ['to', 'both'] + roster[jid]['pending_out'] = (item['ask'] == 'subscribe') self.event("roster_update", iq) if iq['type'] == 'set': -- cgit v1.2.3 From 69d430dd75f526984fd6ea6f9db294731698712c Mon Sep 17 00:00:00 2001 From: Lance Stout Date: Wed, 27 Oct 2010 08:09:50 -0400 Subject: Cleaned up names. --- sleekxmpp/clientxmpp.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'sleekxmpp/clientxmpp.py') diff --git a/sleekxmpp/clientxmpp.py b/sleekxmpp/clientxmpp.py index 8b8f05f6..dbf87647 100644 --- a/sleekxmpp/clientxmpp.py +++ b/sleekxmpp/clientxmpp.py @@ -421,7 +421,7 @@ class ClientXMPP(BaseXMPP): if iq['type'] == 'set' or (iq['type'] == 'result' and request): for jid in iq['roster']['items']: item = iq['roster']['items'][jid] - roster = self.rosters[iq['to'].bare] + roster = self.roster[iq['to'].bare] roster[jid]['name'] = item['name'] roster[jid]['groups'] = item['groups'] roster[jid]['from'] = item['subscription'] in ['from', 'both'] -- cgit v1.2.3