Author: duncan
Date: Wed Oct 31 16:05:25 2007
New Revision: 10048

Log:
Added the first kaa.rpc client call
Tidied up some of the other code


Modified:
   branches/rel-1/freevo/src/tv/record_client.py

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       Wed Oct 31 16:05:25 2007
@@ -29,8 +29,12 @@
 # -----------------------------------------------------------------------
 
 
+import sys
+import time
 import config
 
+import kaa.rpc
+import kaa.notifier
 import time, sys, socket, traceback, string
 import xmlrpclib
 import epg_types
@@ -40,16 +44,39 @@
 TRUE  = 1
 FALSE = 0
 
-server_string = 'http://%s:%s/' % \
-                (config.RECORDSERVER_IP, config.RECORDSERVER_PORT)
-print 'server_string=%s'%server_string
-server = xmlrpclib.Server(server_string, allow_none=1)
+xml_rpc_server = 'http://%s:%s/' % (config.RECORDSERVER_IP, 
config.RECORDSERVER_PORT)
+server = xmlrpclib.Server(xml_rpc_server, allow_none=1)
+
+class RecordClient:
+    """
+    recordserver access class using kaa.rpc
+    """
+    def __init__(self):
+        self.socket = (config.RECORDSERVER_IP, config.RECORDSERVER_PORT2)
+        self.secret = config.RECORDSERVER_SECRET
+        try:
+            self.server = kaa.rpc.Client(self.socket, self.secret)
+        except kaa.rpc.ConnectError, e:
+            print e
+            raise
+
+    @kaa.notifier.execute_in_mainloop()
+    def recordserver_rpc(self, cmd, *args, **kwargs):
+        print 'RecordClient.recordserver_rpc(cmd=%r, args=%r, kwargs=%r)' % 
(cmd, args, kwargs)
+        return self.server.rpc(cmd, *args, **kwargs)
+
+    def getScheduledRecordings(self):
+        print 'RecordClient.getScheduledRecordings()'
+        inprogress = self.recordserver_rpc('getScheduledRecordings')
+        print 'RecordClient.getScheduledRecordings.inprogress = %r' % 
(inprogress)
+        return inprogress
+        
+
 
 def returnFromJelly(status, response):
     if status:
         return (status, unjellyFromXML(response))
-    else:
-        return (status, response)
+    return (status, response)
 
 
 def getScheduledRecordings():
@@ -58,7 +85,6 @@
     except Exception, e:
         _debug_('%s' % e)
         return (FALSE, 'record_client: '+_('connection error'))
-
     return returnFromJelly(status, message)
 
 
@@ -67,7 +93,6 @@
         (status, message) = server.saveScheduledRecordings(scheduledRecordings)
     except:
         return (FALSE, 'record_client: '+_('connection error'))
-
     return (status, message)
 
 
@@ -78,7 +103,6 @@
         _debug_('%s' % e)
         traceback.print_exc()
         return (FALSE, 'record_client: '+_('connection error'))
-
     return (status, message)
 
 
@@ -106,7 +130,6 @@
         (status, message) = server.removeScheduledRecording(jellyToXML(prog))
     except:
         return (FALSE, 'record_client: '+_('connection error'))
-
     return (status, message)
 
 
@@ -115,7 +138,6 @@
         (status, message) = server.cleanScheduledRecordings()
     except:
         return (FALSE, 'record_client: '+_('connection error'))
-
     return (status, message)
 
 
@@ -143,8 +165,6 @@
         (status, response) = server.findProg(chan, start)
     except:
         return (FALSE, 'record_client: '+_('connection error'))
-
-
     return returnFromJelly(status, response)
 
 
@@ -154,7 +174,6 @@
     except Exception, e:
         _debug_('Search error for \'%s\' %s' % (find, e), DWARNING)
         return (FALSE, 'record_client: '+_('connection error'))
-
     return returnFromJelly(status, response)
 
 
@@ -163,7 +182,6 @@
         (status, message) = server.addFavorite(name, prog, exactchan, 
exactdow, exacttod)
     except:
         return (FALSE, 'record_client: '+_('connection error'))
-
     return (status, message)
 
 
@@ -176,7 +194,6 @@
         _debug_('%s' % e, DERROR)
         traceback.print_exc()
         return (FALSE, 'record_client: '+_('connection error'))
-
     return (status, message)
 
 
@@ -185,7 +202,6 @@
         (status, message) = server.removeFavorite(name)
     except:
         return (FALSE, 'record_client: '+_('connection error'))
-
     return (status, message)
 
 
@@ -194,7 +210,6 @@
         (status, message) = server.clearFavorites()
     except:
         return (FALSE, 'record_client: '+_('connection error'))
-
     return (status, message)
 
 
@@ -203,7 +218,6 @@
         (status, response) = server.getFavorites()
     except:
         return (FALSE, 'record_client: '+_('connection error'))
-
     return returnFromJelly(status, response)
 
 
@@ -212,7 +226,6 @@
         (status, response) = server.getFavorite(name)
     except:
         return (FALSE, 'record_client: '+_('connection error'))
-
     return returnFromJelly(status, response)
 
 
@@ -221,7 +234,6 @@
         (status, response) = server.getFavoriteObject(jellyToXML(prog), 
jellyToXML(favs))
     except:
         return (FALSE, 'record_client: '+_('connection error'))
-
     return returnFromJelly(status, response)
 
 
@@ -230,7 +242,6 @@
         (status, message) = server.adjustPriority(favname, mod)
     except:
         return (FALSE, 'record_client: '+_('connection error'))
-
     return (status, message)
 
 
@@ -239,7 +250,6 @@
         (status, message) = server.isProgAFavorite(jellyToXML(prog), 
jellyToXML(favs))
     except:
         return (FALSE, 'record_client: '+_('connection error'))
-
     return (status, message)
 
 
@@ -248,7 +258,6 @@
         (status, message) = server.removeFavoriteFromSchedule(fav)
     except:
         return (FALSE, 'record_client: '+_('connection error'))
-
     return (status, message)
 
 
@@ -257,7 +266,6 @@
         (status, message) = server.addFavoriteToSchedule(fav)
     except:
         return (FALSE, 'record_client: '+_('connection error'))
-
     return (status, message)
 
 
@@ -266,7 +274,6 @@
         (status, message) = server.updateFavoritesSchedule()
     except:
         return (FALSE, 'record_client: '+_('connection error'))
-
     return (status, message)
 
 
@@ -276,15 +283,16 @@
     else:
         function = 'none'
 
+    print 'xml_rpc_server at %r' % (xml_rpc_server)
 
     if function == "updateFavoritesSchedule":
         (result, response) = updateFavoritesSchedule()
-        _debug_('%r' % response)
+        print '%r' % response
 
 
     if function == "test":
         (result, response) = connectionTest('connection test')
-        _debug_('result: %s, response: %s ' % (result, response))
+        print 'result: %s, response: %s ' % (result, response)
 
 
     if function == "moviesearch":
@@ -298,7 +306,7 @@
             else:
                 _debug_('result: %s, response: %s ' % (result, response))
         else:
-            _debug_('no data')
+            print 'no data'
 
 
     if function == "addfavorite":
@@ -323,4 +331,4 @@
                 (result, response) = updateFavoritesSchedule()
                 _debug_('%r' % response)
         else:
-            _debug_('no data')
+            print 'no data'

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Freevo-cvslog mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freevo-cvslog

Reply via email to