Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSascha Silbe <silbe@activitycentral.com>2012-01-09 18:45:38 (GMT)
committer Anish Mangal <anish@activitycentral.com>2012-02-01 12:33:31 (GMT)
commit07dad25b5df19f8c5a79351246c2cf65419dac98 (patch)
treecc34644615b34250c46f1e8140cb95941dfb008c
parent4f1696b6a4753ebb2700f4ff136d92a65fe8263c (diff)
(Partial) fix for GSM connection time (see SL#2992)
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@activitycentral.com>
-rw-r--r--extensions/deviceicon/network.py17
1 files changed, 7 insertions, 10 deletions
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 @@ class GsmPalette(Palette):
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 @@ class GsmDeviceView(TrayIcon):
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 @@ class GsmDeviceView(TrayIcon):
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