hi,

Sorry, the Event class doesn't let you add attributes(like Nicholas says).

If you have a patch at the C level we can add an __eq__  since it seems like
a good idea (I think).  Or maybe someone will implement it for you.

Or maybe we could allow events to have a dictionary associated with them...
so you can add methods and attributes like this...  So it acts more like a
normal object.  Will have to think about the implications of this...


cheers,




On Tue, Apr 14, 2009 at 9:17 AM, Jordan Applewhite <
[email protected]> wrote:

> Hi!
>
> I thought it would be nice to add an __eq__ method to the
> pygame.event.Event class at runtime.  This would let me use == (rich
> comparison operator) on events in the manner of
>
> if pygame.event.wait() == trigger_event:
>    pass
>
> I tried to do this with setattr like so (please pardon the one-liner):
> setattr( pygame.event.Event.__class__,   '__eq__',  lambda self, other:
> self.type == other.type )
>
> I've tried several variations on this idea, but the attribute seems to be
> off-limits.  I keep getting errors like  "TypeError: can't set attributes of
> built-in/extension type 'builtin_function_or_method'".  I notice that
> calling pygame.event.Event.__class__ lists it as a "builtin function or
> method.", but I'm not sure why this means I can't create the method.
>
> Could someone please point me in the right direction?  Thanks, and I'm
> sorry if this is more about python than pygame.  I'm hoping it passes the
> relevance threshold:)
>
>

Reply via email to