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.
This commit is contained in:
parent
9ce0f943cc
commit
8d64157d88
7 changed files with 10 additions and 10 deletions
|
|
@ -731,7 +731,7 @@ class FileSharing:
|
|||
def _getDirectoryMetadataElts(
|
||||
self, client, elt, file_data):
|
||||
try:
|
||||
affiliation_elt = next(elt.elements((NS_FS_AFFILIATION, "affiliation")))
|
||||
affiliation_elt = next(elt.elements(NS_FS_AFFILIATION, "affiliation"))
|
||||
except StopIteration:
|
||||
pass
|
||||
else:
|
||||
|
|
|
|||
|
|
@ -268,7 +268,7 @@ class Invitation(object):
|
|||
args = [service, node, item_id, item_elt]
|
||||
else:
|
||||
try:
|
||||
node_data_elt = next(pubsub_elt.elements((NS_INVITATION, "node_data")))
|
||||
node_data_elt = next(pubsub_elt.elements(NS_INVITATION, "node_data"))
|
||||
except StopIteration:
|
||||
raise exceptions.DataError("Bad invitation, ignoring")
|
||||
namespace = node_data_elt['namespace']
|
||||
|
|
|
|||
|
|
@ -248,7 +248,7 @@ class AttachPlugin:
|
|||
async def defaultAttach(self, client, data):
|
||||
await self.uploadFiles(client, data)
|
||||
# TODO: handle xhtml-im
|
||||
body_elt = next(data["xml"].elements((C.NS_CLIENT, "body")))
|
||||
body_elt = next(data["xml"].elements(C.NS_CLIENT, "body"))
|
||||
attachments = data["extra"][C.MESS_KEY_ATTACHMENTS]
|
||||
if attachments:
|
||||
body_links = '\n'.join(a['url'] for a in attachments)
|
||||
|
|
|
|||
|
|
@ -167,7 +167,7 @@ class AESGCM(object):
|
|||
attachments.clear()
|
||||
del data["extra"][C.MESS_KEY_ATTACHMENTS]
|
||||
|
||||
body_elt = next(data["xml"].elements((C.NS_CLIENT, "body")))
|
||||
body_elt = next(data["xml"].elements(C.NS_CLIENT, "body"))
|
||||
|
||||
for attachment in attachments:
|
||||
body_elt.addContent(attachment["url"])
|
||||
|
|
|
|||
|
|
@ -966,7 +966,7 @@ class XEP_0060(object):
|
|||
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 @@ class XEP_0060(object):
|
|||
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 @@ class XEP_0060(object):
|
|||
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 @@ class XEP_0060(object):
|
|||
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(
|
||||
|
|
|
|||
|
|
@ -667,7 +667,7 @@ class XEP_0234:
|
|||
return
|
||||
file_data = content_data["application_data"]["file_data"]
|
||||
try:
|
||||
file_elt = next(elt.elements((NS_JINGLE_FT, "file")))
|
||||
file_elt = next(elt.elements(NS_JINGLE_FT, "file"))
|
||||
except StopIteration:
|
||||
raise exceptions.DataError
|
||||
algo, file_data["given_file_hash"] = self._hash.parseHashElt(file_elt)
|
||||
|
|
|
|||
|
|
@ -372,7 +372,7 @@ class PubsubSchema(object):
|
|||
items, metadata = items_data
|
||||
items_xmlui = []
|
||||
for item_elt in items:
|
||||
for x_elt in item_elt.elements((data_form.NS_X_DATA, "x")):
|
||||
for x_elt in item_elt.elements(data_form.NS_X_DATA, "x"):
|
||||
form = data_form.Form.fromElement(x_elt)
|
||||
if form_ns and form.formNamespace != form_ns:
|
||||
log.debug(
|
||||
|
|
|
|||
Loading…
Reference in a new issue