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)