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/10a50064cdae247f65fe7779b9d8552264...