diff --git a/coolamqp/objects.py b/coolamqp/objects.py index 7202cefe527f54ce7197fba7d2ed1ea673bc89f8..2bd8cee2d655de194be36773a907653416ed7db5 100644 --- a/coolamqp/objects.py +++ b/coolamqp/objects.py @@ -135,6 +135,9 @@ class Exchange(object): self.durable = durable self.auto_delete = auto_delete + assert isinstance(self.name, six.text_type) + assert isinstance(self.type, six.text_type) + def __repr__(self): return u'Exchange(%s, %s, %s, %s)' % ( repr(self.name), repr(self.type), repr(self.durable), repr(self.auto_delete)) @@ -154,7 +157,7 @@ class Queue(object): This object represents a Queue that applications consume from or publish to. """ - def __init__(self, name=u'', durable=False, exchange=None, exclusive=False, auto_delete=False): + def __init__(self, name=b'', durable=False, exchange=None, exclusive=False, auto_delete=False): """ Create a queue definition. @@ -176,9 +179,12 @@ class Queue(object): self.auto_delete = auto_delete self.exclusive = exclusive - self.anonymous = name == '' # if this queue is anonymous, it must be regenerated upon reconnect + self.anonymous = len(name) == 0 # if this queue is anonymous, it must be regenerated upon reconnect + + self.consumer_tag = name if not self.anonymous else uuid.uuid4().hex.encode('utf8') # bytes, consumer tag to use in AMQP comms - self.consumer_tag = name if len(name) > 0 else uuid.uuid4().hex # consumer tag to use in AMQP comms + assert isinstance(self.name, six.binary_type) + assert isinstance(self.consumer_tag, six.binary_type) def __eq__(self, other): return (self.name == other.name) and (type(self) == type(other))