It might be an order of inheritance issue. Try changing the order in which you declare the parent classes: class ZPerson(ZopeClasseses, ..., Person): .... --Sean
-----Original Message----- From: zope-bounces@zope.org [mailto:zope-bounces@zope.org]On Behalf Of Etienne Labuschagne Sent: Tuesday, October 26, 2004 3:05 AM To: zope@zope.org Subject: [Zope] Operator overriding not working with Zope class.
I have two classes:
class Person: ....
class ZPerson(Person, ZopeClasses....): ....
in Person 'n override __gt__, __lt__, and some others.
p1 = Person() p2 = Person() p1.age = 20 p2.age = 30 p2 > p1 True
this doesn't work for the derived Zope class:
p1 = ZPerson() #ok, I create this in the "proper" zope way and #later retrieve it, but you get the idea p2 = ZPerson() p1.age = 20 p2.age = 30 p2 > p1 False p2.__gt__(p1) True
For some reason my __gt__ is not used when using the > operator. If called explicitly, it works properly.
Any ideas?
Etienne _______________________________________________ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )