Author: duncan
Date: Sun Nov 25 04:37:06 2007
New Revision: 10157

Log:
Updated schedulefavorites to use kaa.rpc
Fixed some cases when the recordserver goes down


Modified:
   branches/rel-1/freevo/src/helpers/schedulefavorites.py
   branches/rel-1/freevo/src/tv/plugins/upsoon.py
   branches/rel-1/freevo/src/tv/record_client.py

Modified: branches/rel-1/freevo/src/helpers/schedulefavorites.py
==============================================================================
--- branches/rel-1/freevo/src/helpers/schedulefavorites.py      (original)
+++ branches/rel-1/freevo/src/helpers/schedulefavorites.py      Sun Nov 25 
04:37:06 2007
@@ -1,10 +1,9 @@
 #!/usr/bin/env python
 # -*- coding: iso-8859-1 -*-
 # -----------------------------------------------------------------------
-# schedulefavorites.py - A helper to run in order to schedule any favories
-#                        for recording.  This should be ran after updating
-#                        your program guide.  This step will eventually be
-#                        handled by the recording server.
+# A helper to run in order to schedule any favories for recording.  This
+# should be ran after updating your program guide.  This step will
+# eventually be handled by the recording server.
 # -----------------------------------------------------------------------
 # $Id$
 #
@@ -34,7 +33,16 @@
 
 
 import config
-import tv.record_client as rc
+import kaa.notifier
+from tv.record_client import RecordClient
 
-(result, response) = rc.updateFavoritesSchedule()
-print response
+def handler(result):
+    print '%s' % (result[1])
+    raise SystemExit
+
+recordclient = RecordClient()
+if not recordclient.updateFavoritesSchedule(handler):
+    print _('recordserver is not running')
+    raise SystemExit
+
+kaa.main()

Modified: branches/rel-1/freevo/src/tv/plugins/upsoon.py
==============================================================================
--- branches/rel-1/freevo/src/tv/plugins/upsoon.py      (original)
+++ branches/rel-1/freevo/src/tv/plugins/upsoon.py      Sun Nov 25 04:37:06 2007
@@ -97,7 +97,7 @@
 
     def findNextProgramHandler(self, result):
         """ Handles the result from the findNextProgram call """
-        _debug_('findNextProgramHandler(result=%r)' % (result), 1)
+        _debug_('findNextProgramHandler(result=%r)' % (result), 2)
         self.next_program = result
 
         if self.next_program == None:
@@ -189,7 +189,7 @@
         """
         Sends a poll message to the record server
         """
-        _debug_('timer_handler()', 1)
+        _debug_('timer_handler()', 2)
 
         # Remove the pending record lock file when a record lock file is 
written
         if self.tv_lockfile:

Modified: branches/rel-1/freevo/src/tv/record_client.py
==============================================================================
--- branches/rel-1/freevo/src/tv/record_client.py       (original)
+++ branches/rel-1/freevo/src/tv/record_client.py       Sun Nov 25 04:37:06 2007
@@ -47,6 +47,15 @@
 xml_rpc_server = 'http://%s:%s/' % (config.RECORDSERVER_IP, 
config.RECORDSERVER_PORT)
 server = xmlrpclib.Server(xml_rpc_server, allow_none=1)
 
+class RecordClientException(Exception):
+    """
+    """
+    def __init__(self):
+        """
+        """
+        pass
+
+
 class RecordClient:
     """
     recordserver access class using kaa.rpc
@@ -78,24 +87,38 @@
         Call the server with the command the results will be put in the 
callback
         Try to reconnect if the connection is down
         """
+        def closed_handler():
+            self.server = None
+
         _debug_('server_rpc(cmd=%r, callback=%r, args=%r, kwargs=%r)' % (cmd, 
callback, args, kwargs), 2)
         try:
             if self.server is None:
                 try:
                     self.server = kaa.rpc.Client(self.socket, self.secret)
-                    _debug_('%r is up' % (self.socket,))
+                    self.server.signals['closed'].connect(closed_handler)
+                    _debug_('%r is up' % (self.socket,), DINFO)
                 except kaa.rpc.ConnectError, e:
-                    _debug_('%r is down' % (self.socket,))
+                    _debug_('%r is down' % (self.socket,), DINFO)
                     self.server = None
                     return False
             self.server.rpc(cmd, *args, **kwargs).connect(callback)
             return True
         except kaa.rpc.ConnectError, e:
-            _debug_('%r is down' % (self.socket,))
+            _debug_('%r is down' % (self.socket,), DINFO)
+            self.server = None
+            return False
+        except IOError, e:
+            _debug_('%r is down' % (self.socket,), DINFO)
             self.server = None
             return False
 
 
+    def ping(self, callback):
+        """ See if the server is alive """
+        _debug_('ping(callback=%r)' % (callback), 2)
+        return self.server_rpc('ping', callback)
+
+
     def getScheduledRecordings(self, callback):
         """ Get the scheduled recordings, using a callback function """
         _debug_('getScheduledRecordings(callback=%r)' % (callback), 2)
@@ -108,6 +131,12 @@
         return self.server_rpc('findNextProgram', callback)
 
 
+    def updateFavoritesSchedule(self, callback):
+        """ Update the favourites using a callback function """
+        _debug_('updateFavoritesSchedule(callback=%r)' % (callback), 2)
+        return self.server_rpc('updateFavoritesSchedule', callback)
+
+
     def isPlayerRunning(self, callback):
         """ Find out if a player is running, using a callback function """
         _debug_('isPlayerRunning(callback=%r)' % (callback), 2)

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Freevo-cvslog mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freevo-cvslog

Reply via email to