Author: dmeyer
Date: Sun Oct 16 08:22:49 2005
New Revision: 7709

Modified:
   trunk/freevo/src/helpers/recordserver.py
   trunk/freevo/src/record/recorder.py

Log:
make recordserver work with freevo-tvdev

Modified: trunk/freevo/src/helpers/recordserver.py
==============================================================================
--- trunk/freevo/src/helpers/recordserver.py    (original)
+++ trunk/freevo/src/helpers/recordserver.py    Sun Oct 16 08:22:49 2005
@@ -69,7 +69,7 @@
 
 # start recorder for this machine
 if config.TV_RECORD_START_RECORDER:
-    kaa.notifier.Process([os.environ['FREEVO_SCRIPT'], 'recorder']).start()
+    kaa.notifier.Process('freevo-tvdev').start()
 
 
 try:

Modified: trunk/freevo/src/record/recorder.py
==============================================================================
--- trunk/freevo/src/record/recorder.py (original)
+++ trunk/freevo/src/record/recorder.py Sun Oct 16 08:22:49 2005
@@ -40,6 +40,10 @@
 
 # kaa imports
 from kaa.notifier import OneShotTimer, Callback
+import kaa.epg
+
+# freevo imports
+import config
 
 # record imports
 from record_types import *
@@ -52,9 +56,9 @@
 IN_PROGRESS = -2
 
 # recording daemon
-DAEMON = {'type': 'home-theatre', 'module': 'record-daemon'}
-
+DAEMON = {'type': 'home-theatre', 'module': 'tvdev'}
 
+config.detect('channels')
 
 class RecorderList(object):
     def __init__(self, server):
@@ -191,7 +195,8 @@
         self.livetv = {}
         self.entity.call('device.describe', self.describe_cb, device)
         self.rating = 0
-
+        self.channel2epg = {}
+        self.epg2channel = {}
 
     def __str__(self):
         return '<Recorder for %s>' % (self.name)
@@ -210,7 +215,29 @@
             self.handler.remove(self)
             return
 
-        self.possible_bouquets = result.arguments[2]
+        self.possible_bouquets = []
+
+        # FIXME: this can take a while
+        # Make this less ugly 
+        for bouquet in result.arguments[2]:
+            self.possible_bouquets.append([])
+            for channel in bouquet:
+                for c in kaa.epg.channels:
+                    if channel == c.access_id:
+                        epgid = c.id
+                        break
+                else:
+                    normchannel = String(channel.replace('.', '').replace(' ', 
''))
+                    for c in kaa.epg.channels:
+                        if normchannel == String(c.name.replace('.', 
'').replace(' ', '')):
+                            epgid = c.id
+                            break
+                    else:
+                        epgid = channel
+                self.possible_bouquets[-1].append(epgid)
+                self.epg2channel[epgid] = channel
+                self.channel2epg[channel] = epgid
+
         self.rating = result.arguments[1]
         self.update()
 
@@ -303,7 +330,7 @@
             if remote.id == UNKNOWN_ID:
                 # add the recording
                 rec      = remote.recording
-                channel  = rec.channel
+                channel  = self.epg2channel[rec.channel]
                 filename = self.get_url(rec)
                 rec.url  = filename
                 log.info('%s: schedule %s' % (self.name, String(rec.name)))
@@ -375,7 +402,7 @@
         log.info('start live tv')
 
         self.entity.call('vdr.record', self.start_livetv_cb, self.device,
-                         channel, 0, 2147483647, url, ())
+                         self.epg2channel[channel], 0, 2147483647, url, ())
         id = Recorder.next_livetv_id
         Recorder.next_livetv_id = id + 1
         self.livetv[id] = channel, None


-------------------------------------------------------
This SF.Net email is sponsored by:
Power Architecture Resource Center: Free content, downloads, discussions,
and more. http://solutions.newsforge.com/ibmarch.tmpl
_______________________________________________
Freevo-cvslog mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freevo-cvslog

Reply via email to