Hi!

I found two issues in current SVN version of freevo, probably
introduced at r7908.

The first affects the handling of conflicts in the padding of two
shows. This patch fixes it:

Index: freevo/tvserver/src/conflict.py
===================================================================
--- freevo/tvserver/src/conflict.py	(revision 7920)
+++ freevo/tvserver/src/conflict.py	(working copy)
@@ -289,7 +289,7 @@
                         # FIXME: maybe start != stop
                         schedule[r.id][2] = False
                         for c in r.conflict_padding:
-                            schedule[r.id][3] = False
+                            schedule[c.id][3] = False
 
             for r in devices[-1].rec:
                 schedule[r.id] = [ CONFLICT, None, True, True ]
The second affects the addition of new recordings by the web interface
or by the UI. Adding new recordings by means of favorites doesn't seem
to be affected.

When adding new records, I get this backtrace from the tvserver:

2006-02-19 14:53:20,228 ERROR    [  mbus] mbus_wrapper.py 258: Error in RPC 
handling
Traceback (most recent call last):
  File "/usr/local/lib/python2.4/site-packages/freevo/ipc/mbus_wrapper.py", 
line 244, in __call__
    result = super(Instance.RPC, self).__call__(*args)
  File "../base/build/lib/kaa/notifier/callback.py", line 177, in __call__
  File "/usr/local/lib/python2.4/site-packages/freevo/tvserver/server.py", line 
362, in rpc_recording_add
    r = Recording(name, channel, priority, start, stop, **info)
TypeError: __init__() keywords must be strings

The following patch fixes it for me, but I'm not sure about it,
because you surely meant something to achive with the syntax "**info"
(As I said before, I'm not very good at python).

Anyway, heres the patch:
Index: freevo/tvserver/src/recording.py
===================================================================
--- freevo/tvserver/src/recording.py	(revision 7920)
+++ freevo/tvserver/src/recording.py	(working copy)
@@ -72,7 +72,7 @@
 
     def __init__(self, name = 'unknown', channel = 'unknown',
                  priority = 0, start = 0, stop = 0, node=None,
-                 **info ):
+                 info = {} ):
 
         self.id       = Recording.NEXT_ID
         Recording.NEXT_ID += 1
Index: freevo/tvserver/src/server.py
===================================================================
--- freevo/tvserver/src/server.py	(revision 7920)
+++ freevo/tvserver/src/server.py	(working copy)
@@ -359,7 +359,7 @@
         info = dict(info)
 
         log.info('recording.add: %s' % String(name))
-        r = Recording(name, channel, priority, start, stop, **info)
+        r = Recording(name, channel, priority, start, stop, info = info)
 
         if r in self.recordings:
             r = self.recordings[self.recordings.index(r)]

Best regards,
    Hans-Jürgen
-- 
In the Beginning there was nothing, which exploded.

                         -- (Terry Pratchett, Lords and Ladies)

Reply via email to