diff sat/plugins/plugin_xep_0060.py @ 3859:3ef988734869

core: fix calls to `domish.Element.elements`: domish.Element.elements should be called with namespace and element name as 2 arguments, but it has been confused in several places with the call to `domish.Element.addElement` which is often done with a `(namespace, name)` tuple. Unfortunately calling with a tuple is accepted and doesn't raise any error in `elements`, but this result in a wrong element returned. This patch fixes the erroneous calls.
author Goffi <goffi@goffi.org>
date Wed, 20 Jul 2022 17:12:29 +0200
parents 8a2c46122a11
children e417c478b488
line wrap: on
line diff
--- a/sat/plugins/plugin_xep_0060.py	Thu Jul 14 12:55:30 2022 +0200
+++ b/sat/plugins/plugin_xep_0060.py	Wed Jul 20 17:12:29 2022 +0200
@@ -966,7 +966,7 @@
         def cb(iq_elt):
             try:
                 affiliations_elt = next(
-                    iq_elt.pubsub.elements((pubsub.NS_PUBSUB, "affiliations"))
+                    iq_elt.pubsub.elements(pubsub.NS_PUBSUB, "affiliations")
                 )
             except StopIteration:
                 raise ValueError(
@@ -977,7 +977,7 @@
             try:
                 return {
                     e["node"]: e["affiliation"]
-                    for e in affiliations_elt.elements((pubsub.NS_PUBSUB, "affiliation"))
+                    for e in affiliations_elt.elements(pubsub.NS_PUBSUB, "affiliation")
                 }
             except KeyError:
                 raise ValueError(
@@ -1009,7 +1009,7 @@
         def cb(iq_elt):
             try:
                 affiliations_elt = next(
-                    iq_elt.pubsub.elements((pubsub.NS_PUBSUB_OWNER, "affiliations"))
+                    iq_elt.pubsub.elements(pubsub.NS_PUBSUB_OWNER, "affiliations")
                 )
             except StopIteration:
                 raise ValueError(
@@ -1402,7 +1402,7 @@
         iq_elt = await request.send(client.xmlstream)
         try:
             subscriptions_elt = next(
-                iq_elt.pubsub.elements((pubsub.NS_PUBSUB, "subscriptions"))
+                iq_elt.pubsub.elements(pubsub.NS_PUBSUB, "subscriptions")
             )
         except StopIteration:
             raise ValueError(