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