Message ID | 20220829173754.214890-1-marcus.hoffmann@othermo.de |
---|---|
State | Accepted |
Headers | show |
Series | [1/1] package/python-paho-mqtt: fix package for python 3.10 | expand |
Marcus, All, On 2022-08-29 19:37 +0200, Marcus Hoffmann spake thusly: > Fixes the following error on calling mqtt.publish(): > > File "/usr/lib/python3.10/site-packages/paho/mqtt/publish.py", line 222, in single > multiple([msg], hostname, port, client_id, keepalive, will, auth, tls, > File "/usr/lib/python3.10/site-packages/paho/mqtt/publish.py", line 126, in multiple > if not isinstance(msgs, collections.Iterable): > AttributeError: module 'collections' has no attribute 'Iterable' > > Backported from https://github.com/eclipse/paho.mqtt.python/pull/497/ > > This was deprecated in python 3.9 and stopped working in python 3.10 > > Signed-off-by: Marcus Hoffmann <marcus.hoffmann@othermo.de> Applied to master, thanks. Regards, Yann E. MORIN. > --- > .../0001-fix-publish-for-python-3-10.patch | 37 +++++++++++++++++++ > 1 file changed, 37 insertions(+) > create mode 100644 package/python-paho-mqtt/0001-fix-publish-for-python-3-10.patch > > diff --git a/package/python-paho-mqtt/0001-fix-publish-for-python-3-10.patch b/package/python-paho-mqtt/0001-fix-publish-for-python-3-10.patch > new file mode 100644 > index 0000000000..aad6b5d723 > --- /dev/null > +++ b/package/python-paho-mqtt/0001-fix-publish-for-python-3-10.patch > @@ -0,0 +1,37 @@ > +From e1c45570f61f9d6b28f8604c8a8cd6dd94f959ed Mon Sep 17 00:00:00 2001 > +From: Brishen Hawkins <brishen.hawkins@gmail.com> > +Date: Tue, 9 Jun 2020 00:18:39 -0600 > +Subject: [PATCH] Fix for Python 3.9 moving Iterable to collections.abc > + > +Signed-off-by: Brishen Hawkins <brishen.hawkins@gmail.com> > + > +Backported from: e1c45570f61f9d6b28f8604c8a8cd6dd94f959ed > +Signed-off-by: Marcus Hoffmann <marcus.hoffmann@othermo.de> > +--- > + src/paho/mqtt/publish.py | 6 +++++- > + 1 file changed, 5 insertions(+), 1 deletion(-) > + > +diff --git a/src/paho/mqtt/publish.py b/src/paho/mqtt/publish.py > +index f9f1986e..dcb34ff1 100644 > +--- a/src/paho/mqtt/publish.py > ++++ b/src/paho/mqtt/publish.py > +@@ -21,6 +21,10 @@ > + from __future__ import absolute_import > + > + import collections > ++try: > ++ from collections.abc import Iterable > ++except ImportError: > ++ from collections import Iterable > + > + from . import client as paho > + from .. import mqtt > +@@ -124,7 +128,7 @@ def multiple(msgs, hostname="localhost", port=1883, client_id="", keepalive=60, > + proxy_args: a dictionary that will be given to the client. > + """ > + > +- if not isinstance(msgs, collections.Iterable): > ++ if not isinstance(msgs, Iterable): > + raise TypeError('msgs must be an iterable') > + > + client = paho.Client(client_id=client_id, userdata=collections.deque(msgs), > -- > 2.25.1 > > _______________________________________________ > buildroot mailing list > buildroot@buildroot.org > https://lists.buildroot.org/mailman/listinfo/buildroot
>>>>> "Marcus" == Marcus Hoffmann <marcus.hoffmann@othermo.de> writes: > Fixes the following error on calling mqtt.publish(): > File "/usr/lib/python3.10/site-packages/paho/mqtt/publish.py", line 222, in single > multiple([msg], hostname, port, client_id, keepalive, will, auth, tls, > File "/usr/lib/python3.10/site-packages/paho/mqtt/publish.py", line 126, in multiple > if not isinstance(msgs, collections.Iterable): > AttributeError: module 'collections' has no attribute 'Iterable' > Backported from https://github.com/eclipse/paho.mqtt.python/pull/497/ > This was deprecated in python 3.9 and stopped working in python 3.10 > Signed-off-by: Marcus Hoffmann <marcus.hoffmann@othermo.de> Committed to 2022.05.x and 2022.02.x, thanks.
diff --git a/package/python-paho-mqtt/0001-fix-publish-for-python-3-10.patch b/package/python-paho-mqtt/0001-fix-publish-for-python-3-10.patch new file mode 100644 index 0000000000..aad6b5d723 --- /dev/null +++ b/package/python-paho-mqtt/0001-fix-publish-for-python-3-10.patch @@ -0,0 +1,37 @@ +From e1c45570f61f9d6b28f8604c8a8cd6dd94f959ed Mon Sep 17 00:00:00 2001 +From: Brishen Hawkins <brishen.hawkins@gmail.com> +Date: Tue, 9 Jun 2020 00:18:39 -0600 +Subject: [PATCH] Fix for Python 3.9 moving Iterable to collections.abc + +Signed-off-by: Brishen Hawkins <brishen.hawkins@gmail.com> + +Backported from: e1c45570f61f9d6b28f8604c8a8cd6dd94f959ed +Signed-off-by: Marcus Hoffmann <marcus.hoffmann@othermo.de> +--- + src/paho/mqtt/publish.py | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/src/paho/mqtt/publish.py b/src/paho/mqtt/publish.py +index f9f1986e..dcb34ff1 100644 +--- a/src/paho/mqtt/publish.py ++++ b/src/paho/mqtt/publish.py +@@ -21,6 +21,10 @@ + from __future__ import absolute_import + + import collections ++try: ++ from collections.abc import Iterable ++except ImportError: ++ from collections import Iterable + + from . import client as paho + from .. import mqtt +@@ -124,7 +128,7 @@ def multiple(msgs, hostname="localhost", port=1883, client_id="", keepalive=60, + proxy_args: a dictionary that will be given to the client. + """ + +- if not isinstance(msgs, collections.Iterable): ++ if not isinstance(msgs, Iterable): + raise TypeError('msgs must be an iterable') + + client = paho.Client(client_id=client_id, userdata=collections.deque(msgs),
Fixes the following error on calling mqtt.publish(): File "/usr/lib/python3.10/site-packages/paho/mqtt/publish.py", line 222, in single multiple([msg], hostname, port, client_id, keepalive, will, auth, tls, File "/usr/lib/python3.10/site-packages/paho/mqtt/publish.py", line 126, in multiple if not isinstance(msgs, collections.Iterable): AttributeError: module 'collections' has no attribute 'Iterable' Backported from https://github.com/eclipse/paho.mqtt.python/pull/497/ This was deprecated in python 3.9 and stopped working in python 3.10 Signed-off-by: Marcus Hoffmann <marcus.hoffmann@othermo.de> --- .../0001-fix-publish-for-python-3-10.patch | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 package/python-paho-mqtt/0001-fix-publish-for-python-3-10.patch