hi Duncan, thanks for the interest

I fought with this bug for a couple of days, and then I had to give up
(I really use my freevo-box as a PVR) ; I downgraded python-twisted to
2.4 , and reinstalled freevo 1.7.3 again (and all works fine now - but
for a patch, see attachment , that patch must be applied to
src/utils/marmalade.py in freevo code).

Unfortunately,  freevo 1.7.3 only works with python-twisted 2.4 , while
freevo 1.7.5 only works with python-twisted 2.5. So it is quite messy to
test this bug, and at the same time have a reasonably working PVR  :-( .

The good point is that Debian/Etch contains python-twisted 2.4 , and
Debian/Sid contains python-twisted 2.5 ; so I can switch between the two
by de/installing Debian packages. (I have also packages freevo 1.7.3 and
1.7.5 , to switch between the two)

Duncan Webb ha scritto:
> There are very few differences in ivtv_record between versions 1.7.3 and
> 1.7.5. And none between 1.7.4 and 1.7.5.

I tried 1.7.3 and 1.7.5 , never 1.7.4 (just for the record)

> Did you restart the recordserver after re-configuring?

yes, I have a shell script that starts/stops everything

anyway the problem is not only in ther recordserver : as i said before,
I cannot watch live TV as well....

BTW: suppose I unpack freevo-1.7.5.tar.gz in a directory, and at the
same time I have 1.7.3 installed in the filesytem ; is there a way
(short of deinstalling 1.7.3 :-) to launch 1.7.5 and be sure that all
the code I run is from 1.7.5 and not from the installed 1.7.3 ?

a.
Index: freevo-1.7.3/src/util/marmalade.py.orig
===================================================================
--- freevo-1.7.3.orig/src/util/marmalade.py	2007-11-06 09:32:03.000000000 +0100
+++ freevo-1.7.3/src/util/marmalade.py	2007-11-06 21:44:12.000000000 +0100
@@ -163,6 +163,12 @@
             retval = float(node.getAttribute("value"))
         elif node.tagName == "longint":
             retval = long(node.getAttribute("value"))
+        elif node.tagName == "bool":
+            retval = int(node.getAttribute("value"))
+            if retval:
+                retval = True
+            else:
+                retval = False
         elif node.tagName == "module":
             retval = namedModule(str(node.getAttribute("name")))
         elif node.tagName == "class":
@@ -318,6 +324,9 @@
             # so that the object will show up where it's referenced first NOT
             # by a method.
             node.appendChild(self.jellyToNode(obj.im_self))
+        elif hasattr(types, 'BooleanType') and objType is types.BooleanType:
+            node = self.document.createElement("bool")
+            node.setAttribute("value", str(int(obj)))
         elif objType is types.ModuleType:
             node = self.document.createElement("module")
             node.setAttribute("name", obj.__name__)
@@ -383,8 +392,10 @@
                 else:
                     if hasattr(obj, "__getstate__"):
                         state = obj.__getstate__()
-                    else:
+                    elif hasattr(obj, "__dict__"):
                         state = obj.__dict__
+                    else:
+                        raise "Unsupported type: %s %s" % (objType.__name__,repr(obj))
                     n = self.jellyToNode(state)
                     node.appendChild(n)
             else:

Attachment: signature.asc
Description: OpenPGP digital signature

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Freevo-devel mailing list
Freevo-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freevo-devel

Reply via email to