summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2012-09-20 12:03:24 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2012-09-20 12:03:24 -0400
commite5accce97bae1b35eeb1eb26f8281a98c58d2cef (patch)
treeb1d6b0b6e867205412b08b445c61d7600d74add1
parent9e3458c4793e863737df371774b39c4c05858abd (diff)
downloadsqlalchemy-e5accce97bae1b35eeb1eb26f8281a98c58d2cef.tar.gz
- repair bool() for instance level event listener where events are classlevel, continuing [ticket:2516]
-rw-r--r--lib/sqlalchemy/event.py2
-rw-r--r--test/base/test_events.py7
2 files changed, 8 insertions, 1 deletions
diff --git a/lib/sqlalchemy/event.py b/lib/sqlalchemy/event.py
index ee4c0ad32..633cb96f8 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 7ae05e6c3..657ddc1be 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