Yann Leboulanger pushed to branch master at gajim / gajim

Commits:
ce719a83 by Yann Leboulanger at 2017-08-22T21:55:18+02:00
No need to have one sleepy instance per connection object

- - - - -


4 changed files:

- gajim/common/app.py
- gajim/common/connection.py
- gajim/common/connection_handlers.py
- gajim/common/zeroconf/connection_handlers_zeroconf.py


Changes:

=====================================
gajim/common/app.py
=====================================
--- a/gajim/common/app.py
+++ b/gajim/common/app.py
@@ -244,6 +244,14 @@ try:
 except ImportError:
     HAVE_PYCURL = False
 
+try:
+    from gajim.common import sleepy
+    if sleepy.SUPPORTED:
+        HAVE_IDLE = True
+except Exception:
+    log.debug(_('Unable to load idle module'))
+    HAVE_IDLE = False
+
 
 gajim_identity = {'type': 'pc', 'category': 'client', 'name': 'Gajim'}
 gajim_common_features = [nbxmpp.NS_BYTESTREAM, nbxmpp.NS_SI, nbxmpp.NS_FILE,


=====================================
gajim/common/connection.py
=====================================
--- a/gajim/common/connection.py
+++ b/gajim/common/connection.py
@@ -630,9 +630,8 @@ class CommonConnection:
             self.connected = app.SHOW_LIST.index(show)
             idle_time = None
             if auto:
-                global HAS_IDLE
-                if HAS_IDLE and app.config.get('autoaway'):
-                    idle_sec = int(self.sleeper.getIdleSec())
+                if app.HAVE_IDLE and app.config.get('autoaway'):
+                    idle_sec = int(app.interface.sleeper.getIdleSec())
                     idle_time = time.strftime('%Y-%m-%dT%H:%M:%SZ',
                         time.gmtime(time.time() - idle_sec))
             app.nec.push_incoming_event(BeforeChangeShowEvent(None,
@@ -2705,9 +2704,8 @@ class Connection(CommonConnection, ConnectionHandlers):
             p = self.add_sha(p, ptype != 'unavailable')
         self.add_lang(p)
         if auto:
-            global HAS_IDLE
-            if HAS_IDLE and app.config.get('autoaway'):
-                idle_sec = int(self.sleeper.getIdleSec())
+            if app.HAVE_IDLE and app.config.get('autoaway'):
+                idle_sec = int(app.interface.sleeper.getIdleSec())
                 idle_time = time.strftime('%Y-%m-%dT%H:%M:%SZ',
                     time.gmtime(time.time() - idle_sec))
                 idle = p.setTag('idle', namespace=nbxmpp.NS_IDLE)


=====================================
gajim/common/connection_handlers.py
=====================================
--- a/gajim/common/connection_handlers.py
+++ b/gajim/common/connection_handlers.py
@@ -47,6 +47,7 @@ from gajim.common import app
 from gajim.common import exceptions
 from gajim.common import dataforms
 from gajim.common import jingle_xtls
+from gajim.common import sleepy
 from gajim.common.commands import ConnectionCommands
 from gajim.common.pubsub import ConnectionPubSub
 from gajim.common.protocol.caps import ConnectionCaps
@@ -74,13 +75,6 @@ DELIMITER_ARRIVED = 'delimiter_arrived'
 PRIVACY_ARRIVED = 'privacy_arrived'
 BLOCKING_ARRIVED = 'blocking_arrived'
 PEP_CONFIG = 'pep_config'
-HAS_IDLE = True
-try:
-#       import idle
-    from gajim.common import sleepy
-except Exception:
-    log.debug(_('Unable to load idle module'))
-    HAS_IDLE = False
 
 
 class ConnectionDisco:
@@ -1345,7 +1339,6 @@ ConnectionVcard, ConnectionSocks5Bytestream, 
ConnectionDisco,
 ConnectionCommands, ConnectionPubSub, ConnectionPEP, ConnectionCaps,
 ConnectionHandlersBase, ConnectionJingle, ConnectionIBBytestream):
     def __init__(self):
-        global HAS_IDLE
         ConnectionArchive313.__init__(self)
         ConnectionVcard.__init__(self)
         ConnectionSocks5Bytestream.__init__(self)
@@ -1382,13 +1375,6 @@ ConnectionHandlersBase, ConnectionJingle, 
ConnectionIBBytestream):
 
         self.privacy_default_list = None
 
-        try:
-            self.sleeper = sleepy.Sleepy()
-            HAS_IDLE = True
-        except Exception:
-            log.warning('Error while calling Sleepy()', exc_info=True)
-            HAS_IDLE = False
-
         self.gmail_last_tid = None
         self.gmail_last_time = None
 
@@ -1659,14 +1645,13 @@ ConnectionHandlersBase, ConnectionJingle, 
ConnectionIBBytestream):
         raise nbxmpp.NodeProcessed
 
     def _nec_last_request_received(self, obj):
-        global HAS_IDLE
         if obj.conn.name != self.name:
             return
-        if HAS_IDLE and app.config.get_per('accounts', self.name,
+        if app.HAVE_IDLE and app.config.get_per('accounts', self.name,
         'send_idle_time'):
             iq_obj = obj.stanza.buildReply('result')
             qp = iq_obj.setQuery()
-            qp.attrs['seconds'] = int(self.sleeper.getIdleSec())
+            qp.attrs['seconds'] = int(app.interface.sleeper.getIdleSec())
         else:
             iq_obj = obj.stanza.buildReply('error')
             err = nbxmpp.ErrorNode(name=nbxmpp.NS_STANZAS + \


=====================================
gajim/common/zeroconf/connection_handlers_zeroconf.py
=====================================
--- a/gajim/common/zeroconf/connection_handlers_zeroconf.py
+++ b/gajim/common/zeroconf/connection_handlers_zeroconf.py
@@ -39,12 +39,6 @@ STATUS_LIST = ['offline', 'connecting', 'online', 'chat', 
'away', 'xa', 'dnd',
 VCARD_PUBLISHED = 'vcard_published'
 VCARD_ARRIVED = 'vcard_arrived'
 AGENT_REMOVED = 'agent_removed'
-HAS_IDLE = True
-try:
-    import idle
-except Exception:
-    log.debug(_('Unable to load idle module'))
-    HAS_IDLE = False
 
 from gajim.common import connection_handlers
 
@@ -73,12 +67,6 @@ connection_handlers.ConnectionJingle):
         connection_handlers.ConnectionJingle.__init__(self)
         connection_handlers.ConnectionHandlersBase.__init__(self)
 
-        try:
-            idle.init()
-        except Exception:
-            global HAS_IDLE
-            HAS_IDLE = False
-
     def _messageCB(self, ip, con, msg):
         """
         Called when we receive a message



View it on GitLab: 
https://dev.gajim.org/gajim/gajim/commit/ce719a8317fb67d9b78589c3abd68329a284f139

---
View it on GitLab: 
https://dev.gajim.org/gajim/gajim/commit/ce719a8317fb67d9b78589c3abd68329a284f139
You're receiving this email because of your account on dev.gajim.org.
_______________________________________________
Commits mailing list
[email protected]
https://lists.gajim.org/cgi-bin/listinfo/commits

Reply via email to