[Twisted-Python] help with InsecureJelly for unkown objects inclasses

Jp Calderone exarkun at divmod.com
Thu Mar 17 10:44:18 MST 2005


On Thu, 17 Mar 2005 09:58:08 -0700, Ben Olsen <bolsen at verio.net> wrote:
>Henning,
> 
> I realize the error isn't specific to pygame in any way, I was just 
> hoping to give everyone enough context. I'm getting the error because a 
> pygame.Rect isn't a jellyable object. But so far I haven't been able to 
> make a jellyable object out of it. The problem for me is that this Rect 
> object is inside of another class (i.e. a GameState class). I can set 
> pb.Copyable and pb.RemoteCopy on the GameState class, and it goes back 
> and forth just fine, but *only* if I remove the pygame.Rect attributes 
> from it.
> 
> I searched the twisted site for "declare pb.Copyable once," and even 
> just the word "Henning," but I couldn't find any threads about this. And 
> unfortunately the howto doesn't help, since all it shows is how to send 
> a simple class back and forth, which I can do fine.
> 
> Any other suggestions for getting a class with non-standard objects in 
> it to jelly properly?

  One approach is to override getStateToCopy (or jellyFor, or getStateToCopyFor, or __getstate__, or several of the above, or all of the above, depending) on your GameState class.  Your implementation can do something like convert the rect to a tuple (or something else easily jellyable).  Similarly, your unjellier can convert the tuple back to a rect.

  Jp




More information about the Twisted-Python mailing list