Author: dmeyer
Date: Thu Mar 23 19:46:45 2006
New Revision: 1324
Modified:
trunk/epg/src/client.py
Log:
better signal over ipc handling
Modified: trunk/epg/src/client.py
==============================================================================
--- trunk/epg/src/client.py (original)
+++ trunk/epg/src/client.py Thu Mar 23 19:46:45 2006
@@ -2,7 +2,7 @@
import logging
from kaa import ipc, db
-from kaa.notifier import Signal
+from kaa.notifier import Signal, OneShotTimer, execute_in_timer
from server import *
from channel import *
from program import *
@@ -26,19 +26,31 @@
self._load()
self._ipc.signals["closed"].connect(self._disconnected)
+
+ # Connect to server signals. The callbacks itself are called with
+ # a OneShotTimer to avoid some strange problems because of the ipc
+ # code (the server will wait for the return)
+ # FIXME: this whole signals over ipc stuff is ugly
self._server.signals["updated"].connect(self._updated)
-
self._server.signals["update_progress"].connect(self.signals["update_progress"].emit)
+ self._server.signals["update_progress"].connect(self._update_progress)
+
def _disconnected(self):
self.connected = False
self.signals["disconnected"].emit()
-
+
+ execute_in_timer(OneShotTimer, 0)
def _updated(self):
self._load()
self.signals["updated"].emit()
+ execute_in_timer(OneShotTimer, 0)
+ def _update_progress(self):
+ self.signals["update_progress"].emit()
+
+
def _load(self):
self._channels_by_name = {}
self._channels_by_db_id = {}
@@ -61,6 +73,7 @@
self._channels_by_tuner_id[t] = chan
self._channels_list.append(chan)
+ # get attributes from server and store local
self._max_program_length = self._server.get_max_program_length()
self._num_programs = self._server.get_num_programs()
-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
Freevo-cvslog mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freevo-cvslog