I have a class that has, as an attribute, an instance of datetime.datetime(). I would like to be able to compare my class directly to instances of datetime.datetime in addition to other instances of my class. The value used for the comparison in either case should be the value of the datetime attribute of the class:
from datetime import datetime class GeneralizedTime(object): def __init__(self, time=None): if time is None: self.datetime = datetime.now() def __cmp__(self, x): if isinstance(x, GeneralizedTime): return cmp(self.datetime, x.datetime) if isinstance(x, datetime): return cmp(self.datetime, x) >>> import datetime >>> >>> GeneralizedTime() > datetime.now() Traceback (most recent call last): File "<stdin>", line 1, in ? TypeError: can't compare datetime.datetime to GeneralizedTime Clearly I'm misunderstanding something, here. As I understand my code, I'm directly comparing an instance of datetime (self.datetime) to another instance of datetime. What am I failing to grasp? Thanks! -Ben -- http://mail.python.org/mailman/listinfo/python-list