From 22611f5b5a88cb274dbdad9b66a1bbf1b8bc916c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Piotr=20Ma=C5=9Blanka?= <piotr.maslanka@henrietta.com.pl>
Date: Sat, 28 May 2016 15:00:27 +0200
Subject: [PATCH] adding exchanges fixed

---
 coolamqp/handler.py  | 6 ++++--
 coolamqp/messages.py | 6 ++----
 setup.py             | 2 +-
 3 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/coolamqp/handler.py b/coolamqp/handler.py
index b6cb3c7..4bd88f5 100644
--- a/coolamqp/handler.py
+++ b/coolamqp/handler.py
@@ -49,7 +49,7 @@ class ClusterHandlerThread(threading.Thread):
             try:
                 self.backend = self.cluster.backend(node, self)
 
-                for exchange in self.declared_exchanges:
+                for exchange in self.declared_exchanges.itervalues():
                     self.backend.exchange_declare(exchange)
 
                 for queue in self.queues_by_consumer_tags.itervalues():
@@ -97,9 +97,11 @@ class ClusterHandlerThread(threading.Thread):
                             self.backend.basic_publish(order.message, order.exchange, order.routing_key)
                         elif isinstance(order, DeclareExchange):
                             self.backend.exchange_declare(order.exchange)
-                            self.declared_exchanges.append(order.exchange)
+                            self.declared_exchanges[order.exchange.name] = order.exchange
                         elif isinstance(order, DeleteExchange):
                             self.backend.exchange_delete(order.exchange)
+                            if order.exchange.name in self.declared_exchanges:
+                                del self.declared_exchanges[order.exchange.name]
                         elif isinstance(order, DeleteQueue):
                             self.backend.queue_delete(order.queue)
                         elif isinstance(order, ConsumeQueue):
diff --git a/coolamqp/messages.py b/coolamqp/messages.py
index 2bc0e26..9579485 100644
--- a/coolamqp/messages.py
+++ b/coolamqp/messages.py
@@ -1,5 +1,6 @@
 import uuid
 
+
 class Message(object):
     """AMQP message object"""
 
@@ -14,13 +15,10 @@ class Message(object):
 
 
 class ReceivedMessage(Message):
-    """
-    Message as received from AMQP system
-    """
+    """Message as received from AMQP system"""
 
     def __init__(self, body, cht, connect_id, exchange_name, routing_key, properties={}, delivery_tag=None):
         """
-
         :param body: message body. A stream of octets.
         :param cht: parent ClusterHandlerThread that emitted this message
         :param connect_id: connection ID. ClusterHandlerThread will check this in order
diff --git a/setup.py b/setup.py
index a33ce82..42a0b4e 100644
--- a/setup.py
+++ b/setup.py
@@ -3,7 +3,7 @@
 from distutils.core import setup
 
 setup(name='CoolAMQP',
-      version='0.1',
+      version='0.1rc0',
       description='The AMQP client library',
       author=u'Piotr Maślanka',
       author_email='piotrm@smok.co',
-- 
GitLab