Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-amqpstorm for
openSUSE:Factory checked in at 2021-04-21 20:59:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-amqpstorm (Old)
and /work/SRC/openSUSE:Factory/.python-amqpstorm.new.12324 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-amqpstorm"
Wed Apr 21 20:59:23 2021 rev:12 rq:886696 version:2.8.4
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-amqpstorm/python-amqpstorm.changes
2020-07-28 17:26:44.197999923 +0200
+++
/work/SRC/openSUSE:Factory/.python-amqpstorm.new.12324/python-amqpstorm.changes
2021-04-21 20:59:40.282227044 +0200
@@ -1,0 +2,10 @@
+Mon Apr 19 13:03:19 UTC 2021 - Mark??ta Machov?? <[email protected]>
+
+- Upadte to 2.8.4
+ * Added getter/setter methods for Message properties expiration,
message_type and user_id
+ * Fixed pip sdist circular dependency
+ * Fixed basic.consume argument type in documentation
+ * Fixed a bug in Message.create where it would mutate the properties dict
+- Create patch pamqp3.patch for better compatibility
+
+-------------------------------------------------------------------
Old:
----
AMQPStorm-2.8.1.tar.gz
New:
----
AMQPStorm-2.8.4.tar.gz
pamqp3.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-amqpstorm.spec ++++++
--- /var/tmp/diff_new_pack.ZwYndF/_old 2021-04-21 20:59:40.790227844 +0200
+++ /var/tmp/diff_new_pack.ZwYndF/_new 2021-04-21 20:59:40.790227844 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-amqpstorm
#
-# Copyright (c) 2020 SUSE LLC
+# Copyright (c) 2021 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,20 +18,21 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-amqpstorm
-Version: 2.8.1
+Version: 2.8.4
Release: 0
Summary: Thread-safe Python RabbitMQ Client & Management library
License: MIT
URL: https://github.com/eandersson/amqpstorm
Source:
https://files.pythonhosted.org/packages/source/A/AMQPStorm/AMQPStorm-%{version}.tar.gz
+Patch0: pamqp3.patch
BuildRequires: %{python_module mock}
-BuildRequires: %{python_module pamqp >= 2.0.0}
+BuildRequires: %{python_module pamqp >= 3.0}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module requests}
BuildRequires: %{python_module setuptools}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
-Requires: python-pamqp >= 2.0.0
+Requires: python-pamqp >= 3.0
Requires: python-requests
BuildArch: noarch
%if 0%{?suse_version} < 1500
@@ -48,7 +49,8 @@
%prep
%setup -q -n AMQPStorm-%{version}
-sed -i -e "s/'pamqp>=2.0.0,<3.0'/'pamqp>=2.0.0'/" setup.py
+%autopatch -p1
+sed -i -e "s/'pamqp>=2.0.0,<3.0'/'pamqp>=3.0'/" setup.py
%build
export LANG="en_US.UTF8"
++++++ AMQPStorm-2.8.1.tar.gz -> AMQPStorm-2.8.4.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/AMQPStorm-2.8.1/AMQPStorm.egg-info/PKG-INFO
new/AMQPStorm-2.8.4/AMQPStorm.egg-info/PKG-INFO
--- old/AMQPStorm-2.8.1/AMQPStorm.egg-info/PKG-INFO 2020-06-27
05:57:31.000000000 +0200
+++ new/AMQPStorm-2.8.4/AMQPStorm.egg-info/PKG-INFO 2021-03-18
02:35:45.000000000 +0100
@@ -1,12 +1,11 @@
-Metadata-Version: 1.1
+Metadata-Version: 2.1
Name: AMQPStorm
-Version: 2.8.1
+Version: 2.8.4
Summary: Thread-safe Python RabbitMQ Client & Management library.
Home-page: https://www.amqpstorm.io
Author: Erik Olof Gunnar Andersson
Author-email: [email protected]
License: MIT License
-Description-Content-Type: UNKNOWN
Description: AMQPStorm
=========
Thread-safe Python RabbitMQ Client & Management library.
@@ -29,6 +28,20 @@
Changelog
=========
+ Version 2.8.4
+ -------------
+ - Fixed a bug in Message.create where it would mutate the properties
dict [#92] - Thanks Killerama.
+
+ Version 2.8.3
+ -------------
+ - Fixed pip sdist circular dependency [#88] - Thanks Jay Hogg.
+ - Fixed basic.consume argument type in documentation [#86] - Thanks
TechmarkDavid.
+
+ Version 2.8.2
+ -------------
+ - Retry on SSLWantReadErrors [#82] - Thanks Bernhard Thiel.
+ - Added getter/setter methods for Message properties expiration,
message_type and user_id [#86] - Thanks Jay Hogg.
+
Version 2.8.1
-------------
- Cleaned up documentation.
@@ -83,8 +96,8 @@
=======
Special thanks to gmr (Gavin M. Roy) for creating pamqp, and in
addition amqpstorm is heavily influenced by his pika and rabbitpy libraries.
- .. |Version| image:: https://badge.fury.io/py/amqpstorm.svg?
- :target: http://badge.fury.io/py/amqpstorm
+ .. |Version| image:: https://badge.fury.io/py/AMQPStorm.svg
+ :target: https://badge.fury.io/py/AMQPStorm
.. |CodeClimate| image::
https://codeclimate.com/github/eandersson/amqpstorm/badges/gpa.svg
:target: https://codeclimate.com/github/eandersson/amqpstorm
@@ -108,6 +121,8 @@
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
+Classifier: Programming Language :: Python :: 3.8
+Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Communications
@@ -116,3 +131,4 @@
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: System :: Networking
+Provides-Extra: management
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/AMQPStorm-2.8.1/CHANGELOG.rst
new/AMQPStorm-2.8.4/CHANGELOG.rst
--- old/AMQPStorm-2.8.1/CHANGELOG.rst 2020-06-27 05:57:13.000000000 +0200
+++ new/AMQPStorm-2.8.4/CHANGELOG.rst 2021-03-18 02:28:30.000000000 +0100
@@ -1,6 +1,20 @@
Changelog
=========
+Version 2.8.4
+-------------
+- Fixed a bug in Message.create where it would mutate the properties dict
[#92] - Thanks Killerama.
+
+Version 2.8.3
+-------------
+- Fixed pip sdist circular dependency [#88] - Thanks Jay Hogg.
+- Fixed basic.consume argument type in documentation [#86] - Thanks
TechmarkDavid.
+
+Version 2.8.2
+-------------
+- Retry on SSLWantReadErrors [#82] - Thanks Bernhard Thiel.
+- Added getter/setter methods for Message properties expiration, message_type
and user_id [#86] - Thanks Jay Hogg.
+
Version 2.8.1
-------------
- Cleaned up documentation.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/AMQPStorm-2.8.1/PKG-INFO new/AMQPStorm-2.8.4/PKG-INFO
--- old/AMQPStorm-2.8.1/PKG-INFO 2020-06-27 05:57:31.000000000 +0200
+++ new/AMQPStorm-2.8.4/PKG-INFO 2021-03-18 02:35:45.540383000 +0100
@@ -1,12 +1,11 @@
-Metadata-Version: 1.1
+Metadata-Version: 2.1
Name: AMQPStorm
-Version: 2.8.1
+Version: 2.8.4
Summary: Thread-safe Python RabbitMQ Client & Management library.
Home-page: https://www.amqpstorm.io
Author: Erik Olof Gunnar Andersson
Author-email: [email protected]
License: MIT License
-Description-Content-Type: UNKNOWN
Description: AMQPStorm
=========
Thread-safe Python RabbitMQ Client & Management library.
@@ -29,6 +28,20 @@
Changelog
=========
+ Version 2.8.4
+ -------------
+ - Fixed a bug in Message.create where it would mutate the properties
dict [#92] - Thanks Killerama.
+
+ Version 2.8.3
+ -------------
+ - Fixed pip sdist circular dependency [#88] - Thanks Jay Hogg.
+ - Fixed basic.consume argument type in documentation [#86] - Thanks
TechmarkDavid.
+
+ Version 2.8.2
+ -------------
+ - Retry on SSLWantReadErrors [#82] - Thanks Bernhard Thiel.
+ - Added getter/setter methods for Message properties expiration,
message_type and user_id [#86] - Thanks Jay Hogg.
+
Version 2.8.1
-------------
- Cleaned up documentation.
@@ -83,8 +96,8 @@
=======
Special thanks to gmr (Gavin M. Roy) for creating pamqp, and in
addition amqpstorm is heavily influenced by his pika and rabbitpy libraries.
- .. |Version| image:: https://badge.fury.io/py/amqpstorm.svg?
- :target: http://badge.fury.io/py/amqpstorm
+ .. |Version| image:: https://badge.fury.io/py/AMQPStorm.svg
+ :target: https://badge.fury.io/py/AMQPStorm
.. |CodeClimate| image::
https://codeclimate.com/github/eandersson/amqpstorm/badges/gpa.svg
:target: https://codeclimate.com/github/eandersson/amqpstorm
@@ -108,6 +121,8 @@
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
+Classifier: Programming Language :: Python :: 3.8
+Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Communications
@@ -116,3 +131,4 @@
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: System :: Networking
+Provides-Extra: management
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/AMQPStorm-2.8.1/README.rst
new/AMQPStorm-2.8.4/README.rst
--- old/AMQPStorm-2.8.1/README.rst 2020-06-27 05:57:13.000000000 +0200
+++ new/AMQPStorm-2.8.4/README.rst 2021-03-18 02:28:30.000000000 +0100
@@ -20,6 +20,20 @@
Changelog
=========
+Version 2.8.4
+-------------
+- Fixed a bug in Message.create where it would mutate the properties dict
[#92] - Thanks Killerama.
+
+Version 2.8.3
+-------------
+- Fixed pip sdist circular dependency [#88] - Thanks Jay Hogg.
+- Fixed basic.consume argument type in documentation [#86] - Thanks
TechmarkDavid.
+
+Version 2.8.2
+-------------
+- Retry on SSLWantReadErrors [#82] - Thanks Bernhard Thiel.
+- Added getter/setter methods for Message properties expiration, message_type
and user_id [#86] - Thanks Jay Hogg.
+
Version 2.8.1
-------------
- Cleaned up documentation.
@@ -74,8 +88,8 @@
=======
Special thanks to gmr (Gavin M. Roy) for creating pamqp, and in addition
amqpstorm is heavily influenced by his pika and rabbitpy libraries.
-.. |Version| image:: https://badge.fury.io/py/amqpstorm.svg?
- :target: http://badge.fury.io/py/amqpstorm
+.. |Version| image:: https://badge.fury.io/py/AMQPStorm.svg
+ :target: https://badge.fury.io/py/AMQPStorm
.. |CodeClimate| image::
https://codeclimate.com/github/eandersson/amqpstorm/badges/gpa.svg
:target: https://codeclimate.com/github/eandersson/amqpstorm
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/AMQPStorm-2.8.1/amqpstorm/__init__.py
new/AMQPStorm-2.8.4/amqpstorm/__init__.py
--- old/AMQPStorm-2.8.1/amqpstorm/__init__.py 2020-06-27 05:57:13.000000000
+0200
+++ new/AMQPStorm-2.8.4/amqpstorm/__init__.py 2021-03-18 02:28:49.000000000
+0100
@@ -1,5 +1,5 @@
"""AMQPStorm."""
-__version__ = '2.8.1' # noqa
+__version__ = '2.8.4' # noqa
__author__ = 'eandersson' # noqa
import logging
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/AMQPStorm-2.8.1/amqpstorm/basic.py
new/AMQPStorm-2.8.4/amqpstorm/basic.py
--- old/AMQPStorm-2.8.1/amqpstorm/basic.py 2020-06-27 05:57:13.000000000
+0200
+++ new/AMQPStorm-2.8.4/amqpstorm/basic.py 2021-03-18 02:28:49.000000000
+0100
@@ -105,7 +105,7 @@
exclusive=False, no_ack=False, no_local=False, arguments=None):
"""Start a queue consumer.
- :param function callback: Message callback
+ :param typing.Callable callback: Message callback
:param str queue: Queue name
:param str consumer_tag: Consumer tag
:param bool no_local: Do not deliver own messages
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/AMQPStorm-2.8.1/amqpstorm/compatibility.py
new/AMQPStorm-2.8.4/amqpstorm/compatibility.py
--- old/AMQPStorm-2.8.1/amqpstorm/compatibility.py 2020-06-27
05:57:13.000000000 +0200
+++ new/AMQPStorm-2.8.4/amqpstorm/compatibility.py 2021-03-18
02:28:30.000000000 +0100
@@ -29,6 +29,16 @@
else:
RANGE = xrange
+
+class DummyException(Exception):
+ """
+ Never raised by anything.
+
+ This is used in except blocks if the intended
+ exception cannot be imported.
+ """
+
+
SSL_CERT_MAP = {}
SSL_VERSIONS = {}
SSL_OPTIONS = [
@@ -69,6 +79,9 @@
'cert_optional': ssl.CERT_OPTIONAL,
'cert_required': ssl.CERT_REQUIRED
}
+ SSLWantReadError = ssl.SSLWantReadError
+else:
+ SSLWantReadError = DummyException
def is_string(obj):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/AMQPStorm-2.8.1/amqpstorm/connection.py
new/AMQPStorm-2.8.4/amqpstorm/connection.py
--- old/AMQPStorm-2.8.1/amqpstorm/connection.py 2020-06-27 05:57:13.000000000
+0200
+++ new/AMQPStorm-2.8.4/amqpstorm/connection.py 2021-03-18 02:28:30.000000000
+0100
@@ -43,7 +43,9 @@
import amqpstorm
ssl_options = {
'context': ssl.create_default_context(cafile='cacert.pem'),
- 'server_hostname': 'rmq.eandersson.net'
+ 'server_hostname': 'rmq.eandersson.net',
+ 'check_hostname': True, # New 2.8.0, default is False
+ 'verify_mode': 'required', # New 2.8.0, default is 'none'
}
connection = amqpstorm.Connection(
'rmq.eandersson.net', 'guest', 'guest', port=5671,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/AMQPStorm-2.8.1/amqpstorm/io.py
new/AMQPStorm-2.8.4/amqpstorm/io.py
--- old/AMQPStorm-2.8.1/amqpstorm/io.py 2020-06-09 05:44:33.000000000 +0200
+++ new/AMQPStorm-2.8.4/amqpstorm/io.py 2021-03-18 02:28:30.000000000 +0100
@@ -272,9 +272,15 @@
data_in = self._read_from_socket()
except socket.timeout:
pass
+ except compatibility.SSLWantReadError:
+ # NOTE(visobet): Retry if the non-blocking socket does not
+ # have any meaningful data ready.
+ pass
except (IOError, OSError) as why:
if why.args[0] not in (EWOULDBLOCK, EAGAIN):
self._exceptions.append(AMQPConnectionError(why))
+ if self._running.is_set():
+ LOGGER.warning("Stopping inbound thread due to %s", why)
self._running.clear()
return data_in
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/AMQPStorm-2.8.1/amqpstorm/message.py
new/AMQPStorm-2.8.4/amqpstorm/message.py
--- old/AMQPStorm-2.8.1/amqpstorm/message.py 2020-06-27 05:57:13.000000000
+0200
+++ new/AMQPStorm-2.8.4/amqpstorm/message.py 2021-03-18 02:28:30.000000000
+0100
@@ -52,7 +52,7 @@
:rtype: Message
"""
- properties = properties or {}
+ properties = dict(properties or {})
if 'correlation_id' not in properties:
properties['correlation_id'] = str(uuid.uuid4())
if 'message_id' not in properties:
@@ -328,6 +328,54 @@
self._update_properties('reply_to', value)
@property
+ def message_type(self):
+ """Get AMQP Message attribute: message_type.
+
+ :return:
+ """
+ return self.properties.get('message_type')
+
+ @message_type.setter
+ def message_type(self, value):
+ """Set AMQP Message attribute: message_type.
+
+ :return:
+ """
+ self._update_properties('message_type', value)
+
+ @property
+ def expiration(self):
+ """Get AMQP Message attribute: expiration.
+
+ :return:
+ """
+ return self.properties.get('expiration')
+
+ @expiration.setter
+ def expiration(self, value):
+ """Set AMQP Message attribute: expiration.
+
+ :return:
+ """
+ self._update_properties('expiration', value)
+
+ @property
+ def user_id(self):
+ """Get AMQP Message attribute: user_id.
+
+ :return:
+ """
+ return self.properties.get('user_id')
+
+ @user_id.setter
+ def user_id(self, value):
+ """Set AMQP Message attribute: user_id.
+
+ :return:
+ """
+ self._update_properties('user_id', value)
+
+ @property
def redelivered(self):
"""Indicates if this message may have been delivered before (but not
acknowledged).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/AMQPStorm-2.8.1/amqpstorm/tests/unit/io/io_exception_tests.py
new/AMQPStorm-2.8.4/amqpstorm/tests/unit/io/io_exception_tests.py
--- old/AMQPStorm-2.8.1/amqpstorm/tests/unit/io/io_exception_tests.py
2020-06-09 05:44:33.000000000 +0200
+++ new/AMQPStorm-2.8.4/amqpstorm/tests/unit/io/io_exception_tests.py
2021-03-18 02:28:30.000000000 +0100
@@ -36,6 +36,15 @@
connection.check_for_errors
)
+ def test_io_receive_raises_ssl_want_read_error(self):
+ connection = FakeConnection()
+
+ io = IO(connection.parameters, exceptions=connection.exceptions)
+ io.socket = mock.Mock(name='socket', spec=socket.socket)
+ io.socket.recv.side_effect = compatibility.SSLWantReadError()
+ io._receive()
+ self.assertIsNone(connection.check_for_errors())
+
def test_io_receive_does_not_raise_on_block(self):
connection = FakeConnection()
@@ -51,6 +60,7 @@
io.socket = mock.Mock(name='socket', spec=socket.socket)
io.socket.recv.side_effect = socket.timeout('timeout')
io._receive()
+ self.assertIsNone(connection.check_for_errors())
def test_io_simple_send_with_error(self):
connection = FakeConnection()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/AMQPStorm-2.8.1/amqpstorm/tests/unit/io/io_tests.py
new/AMQPStorm-2.8.4/amqpstorm/tests/unit/io/io_tests.py
--- old/AMQPStorm-2.8.1/amqpstorm/tests/unit/io/io_tests.py 2020-06-09
05:44:33.000000000 +0200
+++ new/AMQPStorm-2.8.4/amqpstorm/tests/unit/io/io_tests.py 2021-03-18
02:28:30.000000000 +0100
@@ -11,6 +11,7 @@
class IOTests(TestFramework):
+
def test_io_socket_close(self):
connection = FakeConnection()
io = IO(connection.parameters)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/AMQPStorm-2.8.1/amqpstorm/tests/unit/message_tests.py
new/AMQPStorm-2.8.4/amqpstorm/tests/unit/message_tests.py
--- old/AMQPStorm-2.8.1/amqpstorm/tests/unit/message_tests.py 2020-06-09
05:44:33.000000000 +0200
+++ new/AMQPStorm-2.8.4/amqpstorm/tests/unit/message_tests.py 2021-03-18
02:28:30.000000000 +0100
@@ -37,10 +37,34 @@
self.assertIsNone(message.content_type)
self.assertIsNone(message.priority)
self.assertIsNone(message.delivery_mode)
+ self.assertIsNone(message.user_id)
+ self.assertIsNone(message.message_type)
+ self.assertIsNone(message.expiration)
self.assertIsInstance(message.message_id, str)
self.assertIsInstance(message.correlation_id, str)
self.assertIsInstance(message.timestamp, datetime)
+ def test_message_create_does_not_mutate_properties(self):
+ properties = {
+ 'content_type': 'application/json',
+ 'headers': {'key': 'value'}
+ }
+
+ message1 = Message.create(None, self.message, properties)
+ message2 = Message.create(None, self.message, properties)
+
+ self.assertNotIn('correlation_id', properties)
+ self.assertNotIn('message_id', properties)
+ self.assertNotIn('timestamp', properties)
+
+ self.assertIsNotNone(message1.message_id)
+ self.assertIsNotNone(message1.correlation_id)
+ self.assertIsNotNone(message1.timestamp)
+
+ self.assertNotEqual(message1.message_id, message2.message_id)
+ self.assertNotEqual(message1.correlation_id, message2.correlation_id)
+ self.assertNotEqual(message1.timestamp, message2.timestamp)
+
def test_message_app_id_custom_value(self):
app_id = 'my-app'
@@ -114,6 +138,30 @@
self.assertEqual(reply_to, message.reply_to)
+ def test_message_expiration_custom_value(self):
+ expiration = '2000'
+
+ message = Message.create(None, '')
+ message.expiration = expiration
+
+ self.assertEqual(expiration, message.expiration)
+
+ def test_message_user_id_custom_value(self):
+ user_id = 'guest'
+
+ message = Message.create(None, '')
+ message.user_id = user_id
+
+ self.assertEqual(user_id, message.user_id)
+
+ def test_message_message_type_custom_value(self):
+ message_type = 'mymessage'
+
+ message = Message.create(None, '')
+ message.message_type = message_type
+
+ self.assertEqual(message_type, message.message_type)
+
def test_message_redelivered(self):
message = Message.create(body='',
channel=FakeChannel())
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/AMQPStorm-2.8.1/setup.py new/AMQPStorm-2.8.4/setup.py
--- old/AMQPStorm-2.8.1/setup.py 2020-06-27 05:57:13.000000000 +0200
+++ new/AMQPStorm-2.8.4/setup.py 2021-03-18 02:28:30.000000000 +0100
@@ -1,11 +1,28 @@
-import amqpstorm
+import codecs
+import os.path
from setuptools import find_packages
from setuptools import setup
+
+def read(rel_path):
+ here = os.path.abspath(os.path.dirname(__file__))
+ with codecs.open(os.path.join(here, rel_path), 'r') as fp:
+ return fp.read()
+
+
+def get_version(rel_path):
+ for line in read(rel_path).splitlines():
+ if line.startswith('__version__'):
+ delim = '"' if '"' in line else "'"
+ return line.split(delim)[1]
+ else:
+ raise RuntimeError("Unable to find version string.")
+
+
setup(
name='AMQPStorm',
- version=amqpstorm.__version__,
+ version=get_version('amqpstorm/__init__.py'),
description='Thread-safe Python RabbitMQ Client & Management library.',
long_description=open('README.rst').read(),
author='Erik Olof Gunnar Andersson',
@@ -32,6 +49,8 @@
'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: 3.7',
+ 'Programming Language :: Python :: 3.8',
+ 'Programming Language :: Python :: 3.9',
'Programming Language :: Python :: Implementation :: CPython',
'Programming Language :: Python :: Implementation :: PyPy',
'Topic :: Communications',
++++++ pamqp3.patch ++++++
++++ 1148 lines (skipped)