summaryrefslogtreecommitdiff
path: root/kombu/compat.py
diff options
context:
space:
mode:
authorAsk Solem <ask@celeryproject.org>2011-11-22 16:24:28 +0000
committerAsk Solem <ask@celeryproject.org>2011-11-22 16:24:28 +0000
commitb7b634d74cf785940b4168eb2643bf321ef57cb3 (patch)
tree501b676903f54745f87cc47512e2666a972469bf /kombu/compat.py
parentcf4f46f755bff4b336a22e20785ee946c0adcd43 (diff)
downloadkombu-b7b634d74cf785940b4168eb2643bf321ef57cb3.tar.gz
Fixes
Diffstat (limited to 'kombu/compat.py')
-rw-r--r--kombu/compat.py24
1 files changed, 10 insertions, 14 deletions
diff --git a/kombu/compat.py b/kombu/compat.py
index cb3eef53..ab6398a7 100644
--- a/kombu/compat.py
+++ b/kombu/compat.py
@@ -36,15 +36,13 @@ class Publisher(messaging.Producer):
durable = True
auto_delete = False
_closed = False
- _provided_channel = None
+ _provided_channel = False
def __init__(self, connection, exchange=None, routing_key=None,
- exchange_type=None, durable=None, auto_delete=None, channel=None,
- **kwargs):
+ exchange_type=None, durable=None, auto_delete=None,
+ channel=None, **kwargs):
if channel:
- self._provided_channel = self.backend = channel
- else:
- self.backend = connection.channel()
+ connection, self._provided_channel = channel, True
self.exchange = exchange or self.exchange
self.exchange_type = exchange_type or self.exchange_type
@@ -61,20 +59,14 @@ class Publisher(messaging.Producer):
routing_key=self.routing_key,
auto_delete=self.auto_delete,
durable=self.durable)
-
- super(Publisher, self).__init__(self.backend, self.exchange,
- **kwargs)
+ super(Publisher, self).__init__(connection, self.exchange, **kwargs)
def send(self, *args, **kwargs):
return self.publish(*args, **kwargs)
- def revive(self, channel):
- self.backend = channel
- super(Publisher, self).revive(channel)
-
def close(self):
if not self._provided_channel:
- self.backend.close()
+ self.channel.close()
self._closed = True
def __enter__(self):
@@ -83,6 +75,10 @@ class Publisher(messaging.Producer):
def __exit__(self, *exc_info):
self.close()
+ @property
+ def backend(self):
+ return self.channel
+
class Consumer(messaging.Consumer):
queue = ""