Hello community,

here is the log from the commit of package python3-kombu for openSUSE:Factory 
checked in at 2015-11-02 12:55:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python3-kombu (Old)
 and      /work/SRC/openSUSE:Factory/.python3-kombu.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python3-kombu"

Changes:
--------
--- /work/SRC/openSUSE:Factory/python3-kombu/python3-kombu.changes      
2015-10-20 00:06:53.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python3-kombu.new/python3-kombu.changes 
2015-11-02 12:55:05.000000000 +0100
@@ -1,0 +2,13 @@
+Thu Oct 29 15:34:13 UTC 2015 - a...@gmx.de
+
+- update to version 3.0.29:
+  * Fixed serialization issue for "bindings.as_dict()" (Issue #453).
+    Fix contributed by Sergey Tikhonov.
+  * Json serializer wrongly treated bytes as "ascii", not "utf-8"
+    (Issue #532).
+  * MongoDB: Now supports pymongo 3.x.
+    Contributed by Len Buckens.
+  * SQS: Tests passing on Python 3.
+    Fix contributed by Felix Yan
+
+-------------------------------------------------------------------

Old:
----
  kombu-3.0.28.tar.gz

New:
----
  kombu-3.0.29.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python3-kombu.spec ++++++
--- /var/tmp/diff_new_pack.bMOpZv/_old  2015-11-02 12:55:06.000000000 +0100
+++ /var/tmp/diff_new_pack.bMOpZv/_new  2015-11-02 12:55:06.000000000 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           python3-kombu
-Version:        3.0.28
+Version:        3.0.29
 Release:        0
 Summary:        AMQP Messaging Framework for Python
 License:        BSD-3-Clause

++++++ kombu-3.0.28.tar.gz -> kombu-3.0.29.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kombu-3.0.28/AUTHORS new/kombu-3.0.29/AUTHORS
--- old/kombu-3.0.28/AUTHORS    2015-10-09 23:52:37.000000000 +0200
+++ new/kombu-3.0.29/AUTHORS    2015-10-26 18:58:25.000000000 +0100
@@ -42,6 +42,7 @@
 Eric Wang <eric1...@gmail.com>
 Fabrice Rabaute <fabr...@expa.com>
 Felix Schwarz <felix.schw...@oss.schwarz.eu>
+Felix Yan <felixonm...@archlinux.org>
 Fernando Jorge Mota <f.j.mot...@gmail.com>
 Flavio [FlaPer87] Percoco Premoli <flape...@flaper87.org>
 Florian Munz <s...@theflow.de>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kombu-3.0.28/Changelog new/kombu-3.0.29/Changelog
--- old/kombu-3.0.28/Changelog  2015-10-12 20:57:52.000000000 +0200
+++ new/kombu-3.0.29/Changelog  2015-10-26 19:10:33.000000000 +0100
@@ -4,11 +4,43 @@
  Change history
 ================
 
+.. _version-3.0.29:
+
+3.0.29
+======
+:release-date: 2015-10-26 11:10 A.M PDT
+:release-by: Ask Solem
+
+- Fixed serialization issue for ``bindings.as_dict()`` (Issue #453).
+
+    Fix contributed by Sergey Tikhonov.
+
+- Json serializer wrongly treated bytes as ``ascii``, not ``utf-8``
+  (Issue #532).
+
+- MongoDB: Now supports pymongo 3.x.
+
+    Contributed by Len Buckens.
+
+- SQS: Tests passing on Python 3.
+
+    Fix contributed by Felix Yan
+
 .. _version-3.0.28:
 
 3.0.28
 ======
-:release-date: 2015-10-12 12:00 PM PDT
+:release-date: 2015-10-12 12:00 P.M PDT
+:release-by: Ask Solem
+
+:.. admonition:: Django transport migrations.
+
+    If you're using Django 1.8 and have already created the
+    kombu_transport_django tables, you have to run a fake initial migration:
+
+    .. code-block:: pycon
+
+        python manage.py migrate kombu_transport_django --fake-initial
 
 - No longer compatible with South by default.
 
@@ -30,7 +62,7 @@
 
 3.0.27
 ======
-:release-date: 2015-10-09 3:10 PM PDT
+:release-date: 2015-10-09 3:10 P.M PDT
 :release-by: Ask Solem
 
 - Now depends on :mod:`amqp` 1.4.7.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kombu-3.0.28/PKG-INFO new/kombu-3.0.29/PKG-INFO
--- old/kombu-3.0.28/PKG-INFO   2015-10-12 21:38:35.000000000 +0200
+++ new/kombu-3.0.29/PKG-INFO   2015-10-26 19:13:16.000000000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: kombu
-Version: 3.0.28
+Version: 3.0.29
 Summary: Messaging library for Python
 Home-page: http://kombu.readthedocs.org
 Author: Ask Solem
@@ -12,7 +12,7 @@
          kombu - Messaging library for Python
         ========================================
         
-        :Version: 3.0.28
+        :Version: 3.0.29
         
         `Kombu` is a messaging library for Python.
         
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kombu-3.0.28/README.rst new/kombu-3.0.29/README.rst
--- old/kombu-3.0.28/README.rst 2015-10-12 21:37:59.000000000 +0200
+++ new/kombu-3.0.29/README.rst 2015-10-26 19:10:16.000000000 +0100
@@ -4,7 +4,7 @@
  kombu - Messaging library for Python
 ========================================
 
-:Version: 3.0.28
+:Version: 3.0.29
 
 `Kombu` is a messaging library for Python.
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kombu-3.0.28/docs/changelog.rst 
new/kombu-3.0.29/docs/changelog.rst
--- old/kombu-3.0.28/docs/changelog.rst 2015-10-12 20:57:52.000000000 +0200
+++ new/kombu-3.0.29/docs/changelog.rst 2015-10-26 19:10:33.000000000 +0100
@@ -4,11 +4,43 @@
  Change history
 ================
 
+.. _version-3.0.29:
+
+3.0.29
+======
+:release-date: 2015-10-26 11:10 A.M PDT
+:release-by: Ask Solem
+
+- Fixed serialization issue for ``bindings.as_dict()`` (Issue #453).
+
+    Fix contributed by Sergey Tikhonov.
+
+- Json serializer wrongly treated bytes as ``ascii``, not ``utf-8``
+  (Issue #532).
+
+- MongoDB: Now supports pymongo 3.x.
+
+    Contributed by Len Buckens.
+
+- SQS: Tests passing on Python 3.
+
+    Fix contributed by Felix Yan
+
 .. _version-3.0.28:
 
 3.0.28
 ======
-:release-date: 2015-10-12 12:00 PM PDT
+:release-date: 2015-10-12 12:00 P.M PDT
+:release-by: Ask Solem
+
+:.. admonition:: Django transport migrations.
+
+    If you're using Django 1.8 and have already created the
+    kombu_transport_django tables, you have to run a fake initial migration:
+
+    .. code-block:: pycon
+
+        python manage.py migrate kombu_transport_django --fake-initial
 
 - No longer compatible with South by default.
 
@@ -30,7 +62,7 @@
 
 3.0.27
 ======
-:release-date: 2015-10-09 3:10 PM PDT
+:release-date: 2015-10-09 3:10 P.M PDT
 :release-by: Ask Solem
 
 - Now depends on :mod:`amqp` 1.4.7.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kombu-3.0.28/docs/introduction.rst 
new/kombu-3.0.29/docs/introduction.rst
--- old/kombu-3.0.28/docs/introduction.rst      2015-10-12 21:37:59.000000000 
+0200
+++ new/kombu-3.0.29/docs/introduction.rst      2015-10-26 19:10:16.000000000 
+0100
@@ -4,7 +4,7 @@
  kombu - Messaging library for Python
 ========================================
 
-:Version: 3.0.28
+:Version: 3.0.29
 
 `Kombu` is a messaging library for Python.
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kombu-3.0.28/kombu/__init__.py 
new/kombu-3.0.29/kombu/__init__.py
--- old/kombu-3.0.28/kombu/__init__.py  2015-10-12 21:37:54.000000000 +0200
+++ new/kombu-3.0.29/kombu/__init__.py  2015-10-26 19:10:12.000000000 +0100
@@ -11,7 +11,7 @@
     'version_info_t', ('major', 'minor', 'micro', 'releaselevel', 'serial'),
 )
 
-VERSION = version_info_t(3, 0, 28, '', '')
+VERSION = version_info_t(3, 0, 29, '', '')
 __version__ = '{0.major}.{0.minor}.{0.micro}{0.releaselevel}'.format(VERSION)
 __author__ = 'Ask Solem'
 __contact__ = 'a...@celeryproject.org'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kombu-3.0.28/kombu/entity.py 
new/kombu-3.0.29/kombu/entity.py
--- old/kombu-3.0.28/kombu/entity.py    2015-10-09 23:52:37.000000000 +0200
+++ new/kombu-3.0.29/kombu/entity.py    2015-10-26 18:43:46.000000000 +0100
@@ -7,7 +7,7 @@
 """
 from __future__ import absolute_import
 
-from .abstract import MaybeChannelBound
+from .abstract import MaybeChannelBound, Object
 from .exceptions import ContentDisallowed
 from .five import string_t
 from .serialization import prepare_accept_content
@@ -299,7 +299,7 @@
         return not self.auto_delete
 
 
-class binding(object):
+class binding(Object):
     """Represents a queue or exchange binding.
 
     :keyword exchange: Exchange to bind to.
@@ -309,6 +309,13 @@
 
     """
 
+    attrs = (
+        ('exchange', None),
+        ('routing_key', None),
+        ('arguments', None),
+        ('unbind_arguments', None)
+    )
+
     def __init__(self, exchange=None, routing_key='',
                  arguments=None, unbind_arguments=None):
         self.exchange = exchange
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kombu-3.0.28/kombu/serialization.py 
new/kombu-3.0.29/kombu/serialization.py
--- old/kombu-3.0.28/kombu/serialization.py     2015-10-09 23:52:37.000000000 
+0200
+++ new/kombu-3.0.29/kombu/serialization.py     2015-10-26 18:43:47.000000000 
+0100
@@ -311,7 +311,7 @@
 
     def _loads(obj):
         if isinstance(obj, bytes_t):
-            obj = obj.decode()
+            obj = obj.decode('utf-8')
         return json_loads(obj)
 
     registry.register('json', json_dumps, _loads,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kombu-3.0.28/kombu/tests/case.py 
new/kombu-3.0.29/kombu/tests/case.py
--- old/kombu-3.0.28/kombu/tests/case.py        2015-10-09 23:52:37.000000000 
+0200
+++ new/kombu-3.0.29/kombu/tests/case.py        2015-10-26 18:43:47.000000000 
+0100
@@ -24,6 +24,7 @@
 
 PY3 = sys.version_info[0] == 3
 
+MagicMock = mock.MagicMock
 patch = mock.patch
 call = mock.call
 
@@ -50,7 +51,7 @@
     in the class, not just the instance."""
 
     def __enter__(self):
-        pass
+        return self
 
     def __exit__(self, *exc_info):
         pass
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kombu-3.0.28/kombu/tests/test_entities.py 
new/kombu-3.0.29/kombu/tests/test_entities.py
--- old/kombu-3.0.28/kombu/tests/test_entities.py       2015-10-09 
23:52:37.000000000 +0200
+++ new/kombu-3.0.29/kombu/tests/test_entities.py       2015-10-26 
18:43:47.000000000 +0100
@@ -4,6 +4,7 @@
 
 from kombu import Connection, Exchange, Producer, Queue, binding
 from kombu.exceptions import NotBoundError
+from kombu.serialization import registry
 
 from .case import Case, Mock, call
 from .mocks import Transport
@@ -360,6 +361,13 @@
         d = q.as_dict(recurse=True)
         self.assertEqual(d['exchange']['name'], self.exchange.name)
 
+    def test_queue_dump(self):
+        b = binding(self.exchange, 'rk')
+        q = Queue('foo', self.exchange, 'rk', bindings=[b])
+        d = q.as_dict(recurse=True)
+        self.assertEqual(d['bindings'][0]['routing_key'], 'rk')
+        registry.dumps(d)
+
     def test__repr__(self):
         b = Queue('foo', self.exchange, 'foo')
         self.assertIn('foo', repr(b))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kombu-3.0.28/kombu/tests/transport/test_SQS.py 
new/kombu-3.0.29/kombu/tests/transport/test_SQS.py
--- old/kombu-3.0.28/kombu/tests/transport/test_SQS.py  2015-10-10 
00:07:16.000000000 +0200
+++ new/kombu-3.0.29/kombu/tests/transport/test_SQS.py  2015-10-26 
18:43:47.000000000 +0100
@@ -164,7 +164,7 @@
         self.assertEqual(len(results), 1)
 
         # Now test getting many messages
-        for i in xrange(3):
+        for i in range(3):
             message = 'message: {0}'.format(i)
             self.producer.publish(message)
 
@@ -210,11 +210,11 @@
         self.assertEqual(message, results)
 
     def test_puts_and_gets(self):
-        for i in xrange(3):
+        for i in range(3):
             message = 'message: %s' % i
             self.producer.publish(message)
 
-        for i in xrange(3):
+        for i in range(3):
             self.assertEqual('message: %s' % i,
                              self.queue(self.channel).get().payload)
 
@@ -233,7 +233,7 @@
         self.channel.qos.prefetch_count = 5
 
         # Now, generate all the messages
-        for i in xrange(message_count):
+        for i in range(message_count):
             message = 'message: %s' % i
             self.producer.publish(message)
 
@@ -262,11 +262,11 @@
         self.channel.qos.prefetch_count = 5
 
         # Now, generate all the messages
-        for i in xrange(message_count):
+        for i in range(message_count):
             self.producer.publish('message: %s' % i)
 
         # Now drain all the events
-        for i in xrange(message_count):
+        for i in range(message_count):
             self.channel.drain_events()
 
         # How many times was the SQSConnectionMock get_message method called?
@@ -283,11 +283,11 @@
         self.channel.qos.prefetch_count = None
 
         # Now, generate all the messages
-        for i in xrange(message_count):
+        for i in range(message_count):
             self.producer.publish('message: %s' % i)
 
         # Now drain all the events
-        for i in xrange(message_count):
+        for i in range(message_count):
             self.channel.drain_events()
 
         # How many times was the SQSConnectionMock get_message method called?
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kombu-3.0.28/kombu/tests/transport/test_redis.py 
new/kombu-3.0.29/kombu/tests/transport/test_redis.py
--- old/kombu-3.0.28/kombu/tests/transport/test_redis.py        2015-10-10 
00:02:48.000000000 +0200
+++ new/kombu-3.0.29/kombu/tests/transport/test_redis.py        2015-10-26 
18:43:47.000000000 +0100
@@ -14,7 +14,7 @@
 from kombu.utils import eventio  # patch poll
 
 from kombu.tests.case import (
-    Case, Mock, call, module_exists, skip_if_not_module, patch,
+    Case, ContextMock, Mock, call, module_exists, skip_if_not_module, patch,
 )
 
 
@@ -178,6 +178,12 @@
         self.client = client
         self.stack = []
 
+    def __enter__(self):
+        return self
+
+    def __exit__(self, *exc_info):
+        pass
+
     def __getattr__(self, key):
         if key not in self.__dict__:
 
@@ -342,11 +348,11 @@
         with patch('kombu.transport.redis.loads') as loads:
             loads.return_value = 'M', 'EX', 'RK'
             client = self.channel.client = Mock(name='client')
+            client.pipeline = ContextMock()
             restore = self.channel._do_restore_message = Mock(
                 name='_do_restore_message',
             )
-            pipe = Mock(name='pipe')
-            client.pipeline.return_value = pipe
+            pipe = client.pipeline.return_value
             pipe_hget = Mock(name='pipe.hget')
             pipe.hget.return_value = pipe_hget
             pipe_hget_hdel = Mock(name='pipe.hget.hdel')
@@ -371,6 +377,10 @@
 
     def test_qos_restore_visible(self):
         client = self.channel.client = Mock(name='client')
+
+        def pipe(*args, **kwargs):
+            return Pipeline(client)
+        client.pipeline = pipe
         client.zrevrangebyscore.return_value = [
             (1, 10),
             (2, 20),
@@ -1202,7 +1212,8 @@
             # Won
             uuid.return_value = lock_id
             client.setnx.return_value = True
-            pipe = client.pipeline.return_value = Mock(name='pipe')
+            client.pipeline = ContextMock()
+            pipe = client.pipeline.return_value
             pipe.get.return_value = lock_id
             held = False
             with redis.Mutex(client, 'foo1', 100):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kombu-3.0.28/kombu/transport/mongodb.py 
new/kombu-3.0.29/kombu/transport/mongodb.py
--- old/kombu-3.0.28/kombu/transport/mongodb.py 2015-10-09 23:52:37.000000000 
+0200
+++ new/kombu-3.0.29/kombu/transport/mongodb.py 2015-10-26 18:49:31.000000000 
+0100
@@ -22,6 +22,12 @@
 
 from . import virtual
 
+try:
+    from pymongo.cursor import CursorType
+except ImportError:
+    class CursorType(object):  # noqa
+        pass
+
 DEFAULT_HOST = '127.0.0.1'
 DEFAULT_PORT = 27017
 
@@ -172,15 +178,26 @@
 
         return hostname, dbname, options
 
+    def _prepare_client_options(self, options):
+        if pymongo.version_tuple >= (3, ):
+            options.pop('auto_start_request', None)
+        return options
+
     def _open(self, scheme='mongodb://'):
         hostname, dbname, options = self._parse_uri(scheme=scheme)
 
-        mongoconn = MongoClient(
-            host=hostname, ssl=options['ssl'],
-            auto_start_request=options['auto_start_request'],
-            connectTimeoutMS=options['connectTimeoutMS'],
-            use_greenlets=_detect_environment() != 'default',
-        )
+        conf = self._prepare_client_options(options)
+        conf['host'] = hostname
+
+        env = _detect_environment()
+        if env == 'gevent':
+            from gevent import monkey
+            monkey.patch_all()
+        elif env == 'eventlet':
+            from eventlet import monkey_patch
+            monkey_patch()
+
+        mongoconn = MongoClient(**conf)
         database = mongoconn[dbname]
 
         version = mongoconn.server_info()['version']
@@ -284,11 +301,18 @@
             )
 
     def create_broadcast_cursor(self, exchange, routing_key, pattern, queue):
-        cursor = self.get_broadcast().find(
-            query={'queue': exchange},
-            sort=[('$natural', 1)],
-            tailable=True,
-        )
+        if pymongo.version_tuple >= (3, ):
+            query = dict(filter={'queue': exchange},
+                         sort=[('$natural', 1)],
+                         cursor_type=CursorType.TAILABLE
+                         )
+        else:
+            query = dict(query={'queue': exchange},
+                         sort=[('$natural', 1)],
+                         tailable=True
+                         )
+
+        cursor = self.get_broadcast().find(**query)
         ret = self._broadcast_cursors[queue] = BroadcastCursor(cursor)
         return ret
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kombu-3.0.28/kombu/transport/redis.py 
new/kombu-3.0.29/kombu/transport/redis.py
--- old/kombu-3.0.28/kombu/transport/redis.py   2015-10-12 20:57:12.000000000 
+0200
+++ new/kombu-3.0.29/kombu/transport/redis.py   2015-10-26 18:43:47.000000000 
+0100
@@ -115,14 +115,14 @@
             raise MutexHeld()
     finally:
         if i_won:
-            pipe = client.pipeline(True)
             try:
-                pipe.watch(name)
-                if pipe.get(name) == lock_id:
-                    pipe.multi()
-                    pipe.delete(name)
-                    pipe.execute()
-                pipe.unwatch()
+                with client.pipeline(True) as pipe:
+                    pipe.watch(name)
+                    if pipe.get(name) == lock_id:
+                        pipe.multi()
+                        pipe.delete(name)
+                        pipe.execute()
+                    pipe.unwatch()
             except redis.WatchError:
                 pass
 
@@ -160,11 +160,11 @@
         self.ack(delivery_tag)
 
     @contextmanager
-    def pipe_or_acquire(self, pipe=None):
+    def pipe_or_acquire(self, pipe=None, client=None):
         if pipe:
             yield pipe
         else:
-            with self.channel.conn_or_acquire() as client:
+            with self.channel.conn_or_acquire(client) as client:
                 yield client.pipeline()
 
     def _remove_from_indices(self, delivery_tag, pipe=None):
@@ -191,8 +191,9 @@
 
     def restore_by_tag(self, tag, client=None, leftmost=False):
         with self.channel.conn_or_acquire(client) as client:
-            p, _, _ = self._remove_from_indices(
-                tag, client.pipeline().hget(self.unacked_key, tag)).execute()
+            with client.pipeline() as pipe:
+                p, _, _ = self._remove_from_indices(
+                    tag, pipe.hget(self.unacked_key, tag)).execute()
             if p:
                 M, EX, RK = loads(bytes_to_str(p))  # json is unicode
                 self.channel._do_restore_message(M, EX, RK, client, leftmost)
@@ -484,10 +485,10 @@
             return super(Channel, self)._restore(message)
         tag = message.delivery_tag
         with self.conn_or_acquire() as client:
-            P, _ = client.pipeline() \
-                .hget(self.unacked_key, tag) \
-                .hdel(self.unacked_key, tag) \
-                .execute()
+            with client.pipeline() as pipe:
+                P, _ = pipe.hget(self.unacked_key, tag) \
+                           .hdel(self.unacked_key, tag) \
+                           .execute()
             if P:
                 M, EX, RK = loads(bytes_to_str(P))  # json is unicode
                 self._do_restore_message(M, EX, RK, client, leftmost)
@@ -651,12 +652,12 @@
 
     def _size(self, queue):
         with self.conn_or_acquire() as client:
-            cmds = client.pipeline()
-            for pri in PRIORITY_STEPS:
-                cmds = cmds.llen(self._q_for_pri(queue, pri))
-            sizes = cmds.execute()
-            return sum(size for size in sizes
-                       if isinstance(size, numbers.Integral))
+            with client.pipeline() as pipe:
+                for pri in PRIORITY_STEPS:
+                    pipe = pipe.llen(self._q_for_pri(queue, pri))
+                sizes = pipe.execute()
+                return sum(size for size in sizes
+                           if isinstance(size, numbers.Integral))
 
     def _q_for_pri(self, queue, pri):
         pri = self.priority(pri)
@@ -707,17 +708,17 @@
                         self.sep.join([routing_key or '',
                                        pattern or '',
                                        queue or '']))
-            cmds = client.pipeline()
-            for pri in PRIORITY_STEPS:
-                cmds = cmds.delete(self._q_for_pri(queue, pri))
-            cmds.execute()
+            with client.pipeline() as pipe:
+                for pri in PRIORITY_STEPS:
+                    pipe = pipe.delete(self._q_for_pri(queue, pri))
+                pipe.execute()
 
     def _has_queue(self, queue, **kwargs):
         with self.conn_or_acquire() as client:
-            cmds = client.pipeline()
-            for pri in PRIORITY_STEPS:
-                cmds = cmds.exists(self._q_for_pri(queue, pri))
-            return any(cmds.execute())
+            with client.pipeline() as pipe:
+                for pri in PRIORITY_STEPS:
+                    pipe = pipe.exists(self._q_for_pri(queue, pri))
+                return any(pipe.execute())
 
     def get_table(self, exchange):
         key = self.keyprefix_queue % exchange
@@ -729,12 +730,12 @@
 
     def _purge(self, queue):
         with self.conn_or_acquire() as client:
-            cmds = client.pipeline()
-            for pri in PRIORITY_STEPS:
-                priq = self._q_for_pri(queue, pri)
-                cmds = cmds.llen(priq).delete(priq)
-            sizes = cmds.execute()
-            return sum(sizes[::2])
+            with client.pipeline() as pipe:
+                for pri in PRIORITY_STEPS:
+                    priq = self._q_for_pri(queue, pri)
+                    pipe = pipe.llen(priq).delete(priq)
+                sizes = pipe.execute()
+                return sum(sizes[::2])
 
     def close(self):
         if self._pool:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kombu-3.0.28/kombu.egg-info/PKG-INFO 
new/kombu-3.0.29/kombu.egg-info/PKG-INFO
--- old/kombu-3.0.28/kombu.egg-info/PKG-INFO    2015-10-12 21:38:31.000000000 
+0200
+++ new/kombu-3.0.29/kombu.egg-info/PKG-INFO    2015-10-26 19:13:11.000000000 
+0100
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: kombu
-Version: 3.0.28
+Version: 3.0.29
 Summary: Messaging library for Python
 Home-page: http://kombu.readthedocs.org
 Author: Ask Solem
@@ -12,7 +12,7 @@
          kombu - Messaging library for Python
         ========================================
         
-        :Version: 3.0.28
+        :Version: 3.0.29
         
         `Kombu` is a messaging library for Python.
         
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kombu-3.0.28/requirements/test-ci3.txt 
new/kombu-3.0.29/requirements/test-ci3.txt
--- old/kombu-3.0.28/requirements/test-ci3.txt  2015-09-29 23:47:57.000000000 
+0200
+++ new/kombu-3.0.29/requirements/test-ci3.txt  2015-10-26 18:43:47.000000000 
+0100
@@ -3,3 +3,4 @@
 redis
 PyYAML
 msgpack-python>0.2.0  # 0.2.0 dropped 2.5 support
+boto


Reply via email to