diff --git a/sat/plugins/plugin_xep_0420.py b/sat/plugins/plugin_xep_0420.py index 28fbff52..7902a49b 100644 --- a/sat/plugins/plugin_xep_0420.py +++ b/sat/plugins/plugin_xep_0420.py @@ -339,26 +339,26 @@ class XEP_0420: # pylint: disable=invalid-name if profile.to_policy is not SCEAffixPolicy.NOT_NEEDED: recipient = stanza.getAttribute("to", None) - if recipient is None: + if recipient is not None: + to_element = envelope.addElement((NS_SCE, "to")) + to_element["jid"] = jid.JID(recipient).userhost() + elif profile.to_policy is SCEAffixPolicy.REQUIRED: raise ValueError( " affix requested, but stanza doesn't have the 'to' attribute" " set." ) - to_element = envelope.addElement((NS_SCE, "to")) - to_element["jid"] = jid.JID(recipient).userhost() - if profile.from_policy is not SCEAffixPolicy.NOT_NEEDED: sender = stanza.getAttribute("from", None) - if sender is None: + if sender is not None: + from_element = envelope.addElement((NS_SCE, "from")) + from_element["jid"] = jid.JID(sender).userhost() + elif profile.from_policy is SCEAffixPolicy.REQUIRED: raise ValueError( " affix requested, but stanza doesn't have the 'from'" " attribute set." ) - from_element = envelope.addElement((NS_SCE, "from")) - from_element["jid"] = jid.JID(sender).userhost() - for affix, policy in profile.custom_policies.items(): if policy is not SCEAffixPolicy.NOT_NEEDED: envelope.addChild(affix.create(stanza))