Yann Leboulanger pushed to branch xep-0319 at gajim / gajim

Commits:
4aa03778 by Yann Leboulanger at 2017-07-30T22:39:59+02:00
Revert "fix missing return"

This reverts commit 10a50064cdae247f65fe7779b9d85522640e0e48.

- - - - -
8aa331e6 by Yann Leboulanger at 2017-07-30T22:40:10+02:00
Revert "fix parsing since attribute"

This reverts commit ff8c17c38473b7369c6872673a8539164d395b55.

- - - - -
8bf16d30 by Yann Leboulanger at 2017-07-30T22:54:43+02:00
show idle time in local time

- - - - -


2 changed files:

- gajim/common/connection_handlers_events.py
- gajim/tooltips.py


Changes:

=====================================
gajim/common/connection_handlers_events.py
=====================================
--- a/gajim/common/connection_handlers_events.py
+++ b/gajim/common/connection_handlers_events.py
@@ -125,31 +125,6 @@ class HelperEvent:
                     self.chatstate = child.getName()
                     break
 
-    def get_datetime(self, time_str):
-        """
-        Parse datetime according to XEP-0082
-        Returns a datetime object or None
-        """
-        if time_str[-1:] == 'Z':
-            # Remove the trailing 'Z'
-            time_str = time_str[:-1]
-        elif time_str[-6:] == "+00:00":
-            # Remove the trailing "+00:00"
-            time_str = time_str[:-6]
-        else:
-            log.info("Wrong timezone defintion: %s" % time_str)
-            return None
-        try:
-            t = datetime.datetime.strptime(time_str, '%Y-%m-%dT%H:%M:%S')
-        except ValueError:
-            try:
-                t = datetime.datetime.strptime(time_str,
-                    '%Y-%m-%dT%H:%M:%S.%f')
-            except ValueError as e:
-                log.info('Wrong time format: %s' % str(e))
-                return None
-        return t
-
 class HttpAuthReceivedEvent(nec.NetworkIncomingEvent):
     name = 'http-auth-received'
     base_network_events = []
@@ -234,9 +209,24 @@ class TimeResultReceivedEvent(nec.NetworkIncomingEvent, 
HelperEvent):
             def dst(self, dt):
                 return ZERO
 
-        t = self.get_datetime(utc_time)
-        if not t:
+        if utc_time[-1:] == 'Z':
+            # Remove the trailing 'Z'
+            utc_time = utc_time[:-1]
+        elif utc_time[-6:] == "+00:00":
+            # Remove the trailing "+00:00"
+            utc_time = utc_time[:-6]
+        else:
+            log.info("Wrong timezone defintion: %s" % utc_time)
             return
+        try:
+            t = datetime.datetime.strptime(utc_time, '%Y-%m-%dT%H:%M:%S')
+        except ValueError:
+            try:
+                t = datetime.datetime.strptime(utc_time,
+                                               '%Y-%m-%dT%H:%M:%S.%f')
+            except ValueError as e:
+                log.info('Wrong time format: %s' % str(e))
+                return
 
         t = t.replace(tzinfo=UTC())
         self.time_info = t.astimezone(contact_tz()).strftime('%c')
@@ -811,8 +801,9 @@ PresenceHelperEvent):
         self.idle_time = None
         idle_tag = self.stanza.getTag('idle', namespace=nbxmpp.NS_IDLE)
         if idle_tag:
-            idle_time = idle_tag.getAttr('since')
-            self.idle_time = self.get_datetime(idle_time)
+            time_str = idle_tag.getAttr('since')
+            tim = helpers.datetime_tuple(time_str)
+            self.idle_time = timegm(tim)
         xtags = self.stanza.getTags('x')
         for x in xtags:
             namespace = x.getNamespace()


=====================================
gajim/tooltips.py
=====================================
--- a/gajim/tooltips.py
+++ b/gajim/tooltips.py
@@ -715,6 +715,8 @@ class RosterTooltip(Gtk.Window, StatusTable):
         if contact.idle_time:
             idle_color = gajim.config.get('tooltip_idle_color')
             idle_time = contact.idle_time
+            idle_time = time.localtime(contact.idle_time)
+            idle_time = datetime(*(idle_time[:6]))
             current = datetime.now()
             if idle_time.date() == current.date():
                 formatted = idle_time.strftime("%X")



View it on GitLab: 
https://dev.gajim.org/gajim/gajim/compare/10a50064cdae247f65fe7779b9d85522640e0e48...8bf16d305d2455c39fd27029de4561caad17e66e
_______________________________________________
Commits mailing list
[email protected]
https://lists.gajim.org/cgi-bin/listinfo/commits

Reply via email to