[Dextrose] [PATCH sugar dx3] (Partial) fix for GSM connection time (see SL#2992)
Sascha Silbe
silbe at activitycentral.com
Mon Jan 9 16:52:01 EST 2012
The connection time has apparently been off by a couple of hours (depending
on the time zone; see SL#2992 [1]) ever since we had this feature
(commit f5daf6e).
This patch addresses the most important use case (controlling the GSM
connection using the Sugar UI) by fixing the time format. If a system
connection is used and brought up before Sugar starts, connection time
calculation will still be off; this seems to be unfixable [1].
[1] http://mail.gnome.org/archives/networkmanager-list/2012-January/thread.html#00022
Signed-off-by: Sascha Silbe <silbe at activitycentral.com>
---
This is a simplified backport of [1] to sugar-0.94 (NM 0.8, User Settings).
extensions/deviceicon/network.py | 17 +++++++----------
1 files changed, 7 insertions(+), 10 deletions(-)
[1] https://patchwork.sugarlabs.org/patch/1103/
diff --git a/extensions/deviceicon/network.py b/extensions/deviceicon/network.py
index 234b06b..c70db70 100644
--- a/extensions/deviceicon/network.py
+++ b/extensions/deviceicon/network.py
@@ -364,11 +364,10 @@ def add_alert(self, error, suggestion):
self.error_description_label.set_text(message)
self.error_description_label.show()
- def update_connection_time(self, connection_time=None):
- if connection_time is not None:
- formatted_time = connection_time.strftime('%H:%M:%S')
- else:
- formatted_time = '00:00:00'
+ def update_connection_time(self, connection_time=0):
+ """Set the time we have been connected for, in seconds"""
+ formatted_time = time.strftime('%H:%M:%S',
+ time.gmtime(connection_time))
text = _('Connected for %s') % (formatted_time, )
self.props.secondary_text = glib.markup_escape_text(text)
@@ -888,8 +887,8 @@ def _update_state(self, state, old_state, reason):
connection = network.find_gsm_connection()
if connection is not None:
connection.set_connected()
- self._connection_timestamp = time.time() - \
- connection.get_settings().connection.timestamp
+ settings = connection.get_settings()
+ self._connection_timestamp = settings.connection.timestamp
self._connection_time_handler = gobject.timeout_add_seconds( \
1, self.__connection_timecount_cb)
self._palette.update_connection_time()
@@ -932,9 +931,7 @@ def __ppp_stats_changed_cb(self, in_bytes, out_bytes):
self._palette.update_stats(in_bytes, out_bytes)
def __connection_timecount_cb(self):
- self._connection_timestamp = self._connection_timestamp + 1
- connection_time = \
- datetime.datetime.fromtimestamp(self._connection_timestamp)
+ connection_time = time.time() - self._connection_timestamp
self._palette.update_connection_time(connection_time)
return True
--
1.7.6
More information about the Dextrose
mailing list