package/python-paho-mqtt: fix package for python 3.10
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> Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
This commit is contained in:
parent
0f2c0c24d3
commit
2526a2f51f
@ -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),
|
Loading…
Reference in New Issue
Block a user