Hello community, here is the log from the commit of package python-amqp for openSUSE:Factory checked in at 2014-05-17 21:44:04 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-amqp (Old) and /work/SRC/openSUSE:Factory/.python-amqp.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-amqp" Changes: -------- --- /work/SRC/openSUSE:Factory/python-amqp/python-amqp.changes 2014-03-07 07:05:59.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.python-amqp.new/python-amqp.changes 2014-05-17 21:44:05.000000000 +0200 @@ -1,0 +2,10 @@ +Mon May 5 08:07:30 UTC 2014 - dmuel...@suse.com + +- update to 1.4.5: + - Can now deserialize more AMQP types. + - SSL: Workaround for Python SSL bug. + - ``Transport.__del_`` now handles errors occurring at late interpreter + shutdown (Issue #36). + - SSL transport accidentally disconnected after read timeout. + +------------------------------------------------------------------- Old: ---- amqp-1.4.3.tar.gz New: ---- amqp-1.4.5.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-amqp.spec ++++++ --- /var/tmp/diff_new_pack.fOyYxQ/_old 2014-05-17 21:44:07.000000000 +0200 +++ /var/tmp/diff_new_pack.fOyYxQ/_new 2014-05-17 21:44:07.000000000 +0200 @@ -17,7 +17,7 @@ Name: python-amqp -Version: 1.4.3 +Version: 1.4.5 Release: 0 Summary: Low-level AMQP client for Python (fork of amqplib) License: LGPL-2.1 ++++++ amqp-1.4.3.tar.gz -> amqp-1.4.5.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/amqp-1.4.3/Changelog new/amqp-1.4.5/Changelog --- old/amqp-1.4.3/Changelog 2014-02-09 15:59:03.000000000 +0100 +++ new/amqp-1.4.5/Changelog 2014-04-15 23:06:37.000000000 +0200 @@ -5,11 +5,49 @@ The previous amqplib changelog is here: http://code.google.com/p/py-amqplib/source/browse/CHANGES +.. _version-1.4.5: + +1.4.5 +===== +:release-date: 2014-04-15 09:00 P.M UTC +:release-by: Ask Solem + +- Can now deserialize more AMQP types. + + Now handles types ``short string``, ``short short int``, + ``short short unsigned int``, ``short int``, ``short unsigned int``, + ``long unsigned int``, ``long long int``, ``long long unsigned int`` + and ``float`` which for some reason was missing, even in the original + amqplib module. + +- SSL: Workaround for Python SSL bug. + + A bug in the python socket library causes ``ssl.read/write()`` + on a closed socket to raise :exc:`AttributeError` instead of + :exc:`IOError`. + + Fix contributed by Craig Jellick. + +- ``Transport.__del_`` now handles errors occurring at late interpreter + shutdown (Issue #36). + +.. _version-1.4.4: + +1.4.4 +===== +:release-date: 2014-03-03 04:00 P.M UTC +:release-by: Ask Solem + +- SSL transport accidentally disconnected after read timeout. + + Fix contributed by Craig Jellick. + .. _version-1.4.3: 1.4.3 ===== :release-date: 2014-02-09 03:00 P.M UTC +:release-by: Ask Solem - Fixed bug where more data was requested from the socket than was actually needed. @@ -30,6 +68,7 @@ 1.4.1 ===== :release-date: 2014-01-14 09:30 P.M UTC +:release-by: Ask Solem - Fixed error occurring when heartbeats disabled. @@ -38,6 +77,7 @@ 1.4.0 ===== :release-date: 2014-01-13 03:00 P.M UTC +:release-by: Ask Solem - Heartbeat implementation improved (Issue #6). @@ -69,6 +109,7 @@ 1.3.3 ===== :release-date: 2013-11-11 03:30 P.M UTC +:release-by: Ask Solem - SSLTransport: Now keeps read buffer if an exception is raised (Issue #26). @@ -80,6 +121,7 @@ 1.3.2 ===== :release-date: 2013-10-29 02:00 P.M UTC +:release-by: Ask Solem - Message.channel is now a channel object (not the channel id). @@ -91,6 +133,7 @@ 1.3.1 ===== :release-date: 2013-10-24 04:00 P.M UTC +:release-by: Ask Solem - Now implements Connection.connected (Issue #22). @@ -101,6 +144,7 @@ 1.3.0 ===== :release-date: 2013-09-04 02:39 P.M UTC +:release-by: Ask Solem - Now sets ``Message.channel`` on delivery (Issue #12) @@ -142,6 +186,7 @@ 1.2.1 ===== :release-date: 2013-08-16 05:30 P.M UTC +:release-by: Ask Solem - Adds promise type: :meth:`amqp.utils.promise` @@ -152,6 +197,7 @@ 1.2.0 ===== :release-date: 2012-11-12 04:00 P.M UTC +:release-by: Ask Solem - New exception hierarchy: @@ -187,6 +233,7 @@ 1.1.0 ===== :release-date: 2012-11-08 10:36 P.M UTC +:release-by: Ask Solem - No longer supports Python 2.5 @@ -201,6 +248,7 @@ 1.0.13 ====== :release-date: 2013-07-31 04:00 P.M BST +:release-by: Ask Solem - Fixed problems with the SSL transport (Issue #15). @@ -213,6 +261,7 @@ 1.0.12 ====== :release-date: 2013-06-25 02:00 P.M BST +:release-by: Ask Solem - Fixed another Python 3 compatibility problem. @@ -221,6 +270,7 @@ 1.0.11 ====== :release-date: 2013-04-11 06:00 P.M BST +:release-by: Ask Solem - Fixed Python 3 incompatibility in ``amqp/transport.py``. @@ -229,6 +279,7 @@ 1.0.10 ====== :release-date: 2013-03-21 03:30 P.M UTC +:release-by: Ask Solem - Fixed Python 3 incompatibility in ``amqp/serialization.py``. (Issue #11). @@ -238,6 +289,7 @@ 1.0.9 ===== :release-date: 2013-03-08 10:40 A.M UTC +:release-by: Ask Solem - Publisher ack callbacks should now work after typo fix (Issue #9). @@ -251,6 +303,7 @@ 1.0.8 ===== :release-date: 2013-02-08 01:00 P.M UTC +:release-by: Ask Solem - Fixed SyntaxError on Python 2.5 @@ -259,6 +312,7 @@ 1.0.7 ===== :release-date: 2013-02-08 01:00 P.M UTC +:release-by: Ask Solem - Workaround for bug on some Python 2.5 installations where (2**32) is 0. @@ -273,6 +327,7 @@ 1.0.6 ===== :release-date: 2012-11-29 01:14 P.M UTC +:release-by: Ask Solem - ``Channel.close`` is now ignored if the connection attribute is None. @@ -281,6 +336,7 @@ 1.0.5 ===== :release-date: 2012-11-21 04:00 P.M UTC +:release-by: Ask Solem - ``Channel.basic_cancel`` is now ignored if the channel was already closed. @@ -294,6 +350,7 @@ 1.0.4 ===== :release-date: 2012-11-13 04:00 P.M UTC +:release-by: Ask Solem - Fixes Python 2.5 support @@ -302,6 +359,7 @@ 1.0.3 ===== :release-date: 2012-11-12 04:00 P.M UTC +:release-by: Ask Solem - Now can also handle float in headers/tables when receiving messages. @@ -317,6 +375,7 @@ 1.0.2 ===== :release-date: 2012-11-06 05:00 P.M UTC +:release-by: Ask Solem - Now supports float values in headers/tables. @@ -325,6 +384,7 @@ 1.0.1 ===== :release-date: 2012-11-05 01:00 P.M UTC +:release-by: Ask Solem - Connection errors no longer includes :exc:`AttributeError`. @@ -338,6 +398,7 @@ 1.0.0 ===== :release-date: 2012-11-05 01:00 P.M UTC +:release-by: Ask Solem - Channels are now restored on channel error, so that the connection does not have to closed. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/amqp-1.4.3/PKG-INFO new/amqp-1.4.5/PKG-INFO --- old/amqp-1.4.3/PKG-INFO 2014-02-09 15:59:44.000000000 +0100 +++ new/amqp-1.4.5/PKG-INFO 2014-04-15 23:08:15.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: amqp -Version: 1.4.3 +Version: 1.4.5 Summary: Low-level AMQP client for Python (fork of amqplib) Home-page: http://github.com/celery/py-amqp Author: Ask Solem @@ -10,7 +10,7 @@ Python AMQP 0.9.1 client library ===================================================================== - :Version: 1.4.3 + :Version: 1.4.5 :Web: http://amqp.readthedocs.org/ :Download: http://pypi.python.org/pypi/amqp/ :Source: http://github.com/celery/py-amqp/ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/amqp-1.4.3/README.rst new/amqp-1.4.5/README.rst --- old/amqp-1.4.3/README.rst 2014-02-09 15:59:03.000000000 +0100 +++ new/amqp-1.4.5/README.rst 2014-04-15 23:06:37.000000000 +0200 @@ -2,7 +2,7 @@ Python AMQP 0.9.1 client library ===================================================================== -:Version: 1.4.3 +:Version: 1.4.5 :Web: http://amqp.readthedocs.org/ :Download: http://pypi.python.org/pypi/amqp/ :Source: http://github.com/celery/py-amqp/ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/amqp-1.4.3/amqp/__init__.py new/amqp-1.4.5/amqp/__init__.py --- old/amqp-1.4.3/amqp/__init__.py 2014-02-09 15:59:03.000000000 +0100 +++ new/amqp-1.4.5/amqp/__init__.py 2014-04-15 23:06:37.000000000 +0200 @@ -16,7 +16,7 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 from __future__ import absolute_import -VERSION = (1, 4, 3) +VERSION = (1, 4, 5) __version__ = '.'.join(map(str, VERSION[0:3])) + ''.join(VERSION[3:]) __author__ = 'Barry Pederson' __maintainer__ = 'Ask Solem' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/amqp-1.4.3/amqp/serialization.py new/amqp-1.4.5/amqp/serialization.py --- old/amqp-1.4.3/amqp/serialization.py 2014-01-22 20:52:51.000000000 +0100 +++ new/amqp-1.4.5/amqp/serialization.py 2014-04-15 23:06:16.000000000 +0200 @@ -144,25 +144,62 @@ def read_item(self): ftype = ord(self.input.read(1)) - if ftype == 83: # 'S' + + # 'S': long string + if ftype == 83: val = self.read_longstr() - elif ftype == 73: # 'I' - val = unpack('>i', self.input.read(4))[0] - elif ftype == 68: # 'D' + # 's': short string + elif ftype == 115: + val = self.read_shortstr() + # 'b': short-short int + elif ftype == 98: + val, = unpack('>B', self.input.read(1)) + # 'B': short-short unsigned int + elif ftype == 66: + val, = unpack('>b', self.input.read(1)) + # 'U': short int + elif ftype == 85: + val, = unpack('>h', self.input.read(2)) + # 'u': short unsigned int + elif ftype == 117: + val, = unpack('>H', self.input.read(2)) + # 'I': long int + elif ftype == 73: + val, = unpack('>i', self.input.read(4)) + # 'i': long unsigned int + elif ftype == 105: # 'l' + val, = unpack('>I', self.input.read(4)) + # 'L': long long int + elif ftype == 76: + val, = unpack('>q', self.input.read(8)) + # 'l': long long unsigned int + elif ftype == 108: + val, = unpack('>Q', self.input.read(8)) + # 'f': float + elif ftype == 102: + val, = unpack('>f', self.input.read(4)) + # 'd': double + elif ftype == 100: + val = self.read_float() + # 'D': decimal + elif ftype == 68: d = self.read_octet() - n = unpack('>i', self.input.read(4))[0] + n, = unpack('>i', self.input.read(4)) val = Decimal(n) / Decimal(10 ** d) - elif ftype == 84: # 'T' - val = self.read_timestamp() - elif ftype == 70: # 'F' + # 'F': table + elif ftype == 70: val = self.read_table() # recurse - elif ftype == 65: # 'A' + # 'A': array + elif ftype == 65: val = self.read_array() + # 't' (bool) elif ftype == 116: val = self.read_bit() - elif ftype == 100: - val = self.read_float() - elif ftype == 86: # 'V' + # 'T': timestamp + elif ftype == 84: + val = self.read_timestamp() + # 'V': void + elif ftype == 86: val = None else: raise FrameSyntaxError( diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/amqp-1.4.3/amqp/transport.py new/amqp-1.4.5/amqp/transport.py --- old/amqp-1.4.3/amqp/transport.py 2014-02-09 15:59:03.000000000 +0100 +++ new/amqp-1.4.5/amqp/transport.py 2014-04-15 23:06:29.000000000 +0200 @@ -26,6 +26,12 @@ except ImportError: # pragma: no cover from socket import IPPROTO_TCP as SOL_TCP # noqa +try: + from ssl import SSLError +except ImportError: + class SSLError(Exception): # noqa + pass + from struct import pack, unpack from .exceptions import UnexpectedFrame @@ -103,9 +109,13 @@ def __del__(self): try: - self.close() - except socket.error: - pass + # socket module may have been collected by gc + # if this is called by a thread at shutdown. + if socket is not None: + try: + self.close() + except socket.error: + pass finally: self.sock = None @@ -146,6 +156,10 @@ except socket.timeout: raise except (OSError, IOError, socket.error) as exc: + # Don't disconnect for ssl read time outs + # http://bugs.python.org/issue10272 + if isinstance(exc, SSLError) and 'timed out' in str(exc): + raise socket.timeout() if get_errno(exc) not in _UNAVAIL: self.connected = False raise @@ -225,12 +239,18 @@ def _write(self, s): """Write a string out to the SSL socket fully.""" - write = self.sock.write - while s: - n = write(s) - if not n: - raise IOError('Socket closed') - s = s[n:] + try: + write = self.sock.write + except AttributeError: + # Works around a bug in python socket library + raise IOError('Socket closed') + else: + while s: + n = write(s) + if not n: + raise IOError('Socket closed') + s = s[n:] + class TCPTransport(_AbstractTransport): """Transport that deals directly with TCP socket.""" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/amqp-1.4.3/amqp.egg-info/PKG-INFO new/amqp-1.4.5/amqp.egg-info/PKG-INFO --- old/amqp-1.4.3/amqp.egg-info/PKG-INFO 2014-02-09 15:59:36.000000000 +0100 +++ new/amqp-1.4.5/amqp.egg-info/PKG-INFO 2014-04-15 23:08:12.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: amqp -Version: 1.4.3 +Version: 1.4.5 Summary: Low-level AMQP client for Python (fork of amqplib) Home-page: http://github.com/celery/py-amqp Author: Ask Solem @@ -10,7 +10,7 @@ Python AMQP 0.9.1 client library ===================================================================== - :Version: 1.4.3 + :Version: 1.4.5 :Web: http://amqp.readthedocs.org/ :Download: http://pypi.python.org/pypi/amqp/ :Source: http://github.com/celery/py-amqp/ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/amqp-1.4.3/docs/changelog.rst new/amqp-1.4.5/docs/changelog.rst --- old/amqp-1.4.3/docs/changelog.rst 2014-02-09 15:59:03.000000000 +0100 +++ new/amqp-1.4.5/docs/changelog.rst 2014-04-15 23:06:37.000000000 +0200 @@ -5,11 +5,49 @@ The previous amqplib changelog is here: http://code.google.com/p/py-amqplib/source/browse/CHANGES +.. _version-1.4.5: + +1.4.5 +===== +:release-date: 2014-04-15 09:00 P.M UTC +:release-by: Ask Solem + +- Can now deserialize more AMQP types. + + Now handles types ``short string``, ``short short int``, + ``short short unsigned int``, ``short int``, ``short unsigned int``, + ``long unsigned int``, ``long long int``, ``long long unsigned int`` + and ``float`` which for some reason was missing, even in the original + amqplib module. + +- SSL: Workaround for Python SSL bug. + + A bug in the python socket library causes ``ssl.read/write()`` + on a closed socket to raise :exc:`AttributeError` instead of + :exc:`IOError`. + + Fix contributed by Craig Jellick. + +- ``Transport.__del_`` now handles errors occurring at late interpreter + shutdown (Issue #36). + +.. _version-1.4.4: + +1.4.4 +===== +:release-date: 2014-03-03 04:00 P.M UTC +:release-by: Ask Solem + +- SSL transport accidentally disconnected after read timeout. + + Fix contributed by Craig Jellick. + .. _version-1.4.3: 1.4.3 ===== :release-date: 2014-02-09 03:00 P.M UTC +:release-by: Ask Solem - Fixed bug where more data was requested from the socket than was actually needed. @@ -30,6 +68,7 @@ 1.4.1 ===== :release-date: 2014-01-14 09:30 P.M UTC +:release-by: Ask Solem - Fixed error occurring when heartbeats disabled. @@ -38,6 +77,7 @@ 1.4.0 ===== :release-date: 2014-01-13 03:00 P.M UTC +:release-by: Ask Solem - Heartbeat implementation improved (Issue #6). @@ -69,6 +109,7 @@ 1.3.3 ===== :release-date: 2013-11-11 03:30 P.M UTC +:release-by: Ask Solem - SSLTransport: Now keeps read buffer if an exception is raised (Issue #26). @@ -80,6 +121,7 @@ 1.3.2 ===== :release-date: 2013-10-29 02:00 P.M UTC +:release-by: Ask Solem - Message.channel is now a channel object (not the channel id). @@ -91,6 +133,7 @@ 1.3.1 ===== :release-date: 2013-10-24 04:00 P.M UTC +:release-by: Ask Solem - Now implements Connection.connected (Issue #22). @@ -101,6 +144,7 @@ 1.3.0 ===== :release-date: 2013-09-04 02:39 P.M UTC +:release-by: Ask Solem - Now sets ``Message.channel`` on delivery (Issue #12) @@ -142,6 +186,7 @@ 1.2.1 ===== :release-date: 2013-08-16 05:30 P.M UTC +:release-by: Ask Solem - Adds promise type: :meth:`amqp.utils.promise` @@ -152,6 +197,7 @@ 1.2.0 ===== :release-date: 2012-11-12 04:00 P.M UTC +:release-by: Ask Solem - New exception hierarchy: @@ -187,6 +233,7 @@ 1.1.0 ===== :release-date: 2012-11-08 10:36 P.M UTC +:release-by: Ask Solem - No longer supports Python 2.5 @@ -201,6 +248,7 @@ 1.0.13 ====== :release-date: 2013-07-31 04:00 P.M BST +:release-by: Ask Solem - Fixed problems with the SSL transport (Issue #15). @@ -213,6 +261,7 @@ 1.0.12 ====== :release-date: 2013-06-25 02:00 P.M BST +:release-by: Ask Solem - Fixed another Python 3 compatibility problem. @@ -221,6 +270,7 @@ 1.0.11 ====== :release-date: 2013-04-11 06:00 P.M BST +:release-by: Ask Solem - Fixed Python 3 incompatibility in ``amqp/transport.py``. @@ -229,6 +279,7 @@ 1.0.10 ====== :release-date: 2013-03-21 03:30 P.M UTC +:release-by: Ask Solem - Fixed Python 3 incompatibility in ``amqp/serialization.py``. (Issue #11). @@ -238,6 +289,7 @@ 1.0.9 ===== :release-date: 2013-03-08 10:40 A.M UTC +:release-by: Ask Solem - Publisher ack callbacks should now work after typo fix (Issue #9). @@ -251,6 +303,7 @@ 1.0.8 ===== :release-date: 2013-02-08 01:00 P.M UTC +:release-by: Ask Solem - Fixed SyntaxError on Python 2.5 @@ -259,6 +312,7 @@ 1.0.7 ===== :release-date: 2013-02-08 01:00 P.M UTC +:release-by: Ask Solem - Workaround for bug on some Python 2.5 installations where (2**32) is 0. @@ -273,6 +327,7 @@ 1.0.6 ===== :release-date: 2012-11-29 01:14 P.M UTC +:release-by: Ask Solem - ``Channel.close`` is now ignored if the connection attribute is None. @@ -281,6 +336,7 @@ 1.0.5 ===== :release-date: 2012-11-21 04:00 P.M UTC +:release-by: Ask Solem - ``Channel.basic_cancel`` is now ignored if the channel was already closed. @@ -294,6 +350,7 @@ 1.0.4 ===== :release-date: 2012-11-13 04:00 P.M UTC +:release-by: Ask Solem - Fixes Python 2.5 support @@ -302,6 +359,7 @@ 1.0.3 ===== :release-date: 2012-11-12 04:00 P.M UTC +:release-by: Ask Solem - Now can also handle float in headers/tables when receiving messages. @@ -317,6 +375,7 @@ 1.0.2 ===== :release-date: 2012-11-06 05:00 P.M UTC +:release-by: Ask Solem - Now supports float values in headers/tables. @@ -325,6 +384,7 @@ 1.0.1 ===== :release-date: 2012-11-05 01:00 P.M UTC +:release-by: Ask Solem - Connection errors no longer includes :exc:`AttributeError`. @@ -338,6 +398,7 @@ 1.0.0 ===== :release-date: 2012-11-05 01:00 P.M UTC +:release-by: Ask Solem - Channels are now restored on channel error, so that the connection does not have to closed. -- To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org For additional commands, e-mail: opensuse-commit+h...@opensuse.org