From a2e79b0c28bbe991c1a96f5c07da36a358367684 Mon Sep 17 00:00:00 2001 From: Goffi Date: Sat, 27 Mar 2021 14:59:50 +0100 Subject: [PATCH] plugin XEP-0277: be sure to have an `author_jid` set --- sat/plugins/plugin_xep_0277.py | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/sat/plugins/plugin_xep_0277.py b/sat/plugins/plugin_xep_0277.py index 8e0682e7..b2b8222a 100644 --- a/sat/plugins/plugin_xep_0277.py +++ b/sat/plugins/plugin_xep_0277.py @@ -420,13 +420,6 @@ class XEP_0277(object): author_elt = next(entry_elt.elements(NS_ATOM, "author")) except StopIteration: log.debug("Can't find author element in item {}".format(id_)) - if publisher: - microblog_data["author_jid"] = publisher - microblog_data["author_jid_verified"] = True - else: - iq_elt = xml_tools.findAncestor(item_elt, "iq", C.NS_CLIENT) - microblog_data["author_jid"] = iq_elt["from"] - microblog_data["author_jid_verified"] = False else: # name try: @@ -477,6 +470,15 @@ class XEP_0277(object): else: microblog_data["author_email"] = str(email_elt) + if not microblog_data.get("author_jid"): + if publisher: + microblog_data["author_jid"] = publisher + microblog_data["author_jid_verified"] = True + else: + iq_elt = xml_tools.findAncestor(item_elt, "iq", C.NS_CLIENT) + microblog_data["author_jid"] = iq_elt["from"] + microblog_data["author_jid_verified"] = False + # categories categories = [ category_elt.getAttribute("term", "")