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)