[Twisted-Python] Python properties and pb.Referenceable...

James Y Knight foom at fuhm.net
Thu Mar 10 01:23:07 EST 2005

On Mar 9, 2005, at 9:15 PM, Jasper wrote:
> Jasper wrote:
>> I'm trying to set a python property on a PB client descended from 
>> pb.Referenceable, but it seems that properties don't work on old 
>> style classes and that Referenceable is descended from Jellyable, an 
>> old style class.  Moreover, I see this is still true for 2.0.0a2...
>> Is there any intention of switching to new classes, or should I just 
>> hack around this?
> Turns out that the simple hack of Client( object, pb.Referenceable ) 
> seems to work.  Sorry for the trouble!

You really don't want to do that. Then, if pb.Referenceable ever does 
become a new-style class (for example because a new version of python 
gets rid of oldstyle classes, or because twisted is changed), then 
you'll get an MRO construction error. Always put object last in the 
inheritance line.

class Foo: pass
class Bar(object, Foo): pass # Fine

class Foo(object): pass
class Bar(object, Foo): pass # BOOM


More information about the Twisted-Python mailing list