From e5accce97bae1b35eeb1eb26f8281a98c58d2cef Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Thu, 20 Sep 2012 12:03:24 -0400 Subject: [PATCH] - repair bool() for instance level event listener where events are classlevel, continuing [ticket:2516] --- lib/sqlalchemy/event.py | 2 +- test/base/test_events.py | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/sqlalchemy/event.py b/lib/sqlalchemy/event.py index ee4c0ad32c..633cb96f86 100644 --- a/lib/sqlalchemy/event.py +++ b/lib/sqlalchemy/event.py @@ -352,7 +352,7 @@ class _EmptyListener(object): return iter(self.parent_listeners) def __nonzero__(self): - return False + return bool(self.parent_listeners) class _CompoundListener(object): _exec_once = False diff --git a/test/base/test_events.py b/test/base/test_events.py index 7ae05e6c38..657ddc1be0 100644 --- a/test/base/test_events.py +++ b/test/base/test_events.py @@ -50,6 +50,13 @@ class EventsTest(fixtures.TestBase): eq_(len(self.Target().dispatch.event_two), 0) eq_(len(t1.dispatch.event_two), 0) + def test_bool_clslevel(self): + def listen_one(x, y): + pass + event.listen(self.Target, "event_one", listen_one) + t = self.Target() + assert t.dispatch.event_one + def test_register_class_instance(self): def listen_one(x, y): pass -- 2.47.3