diff options
author | mathieui <mathieui@mathieui.net> | 2021-03-08 22:01:16 +0100 |
---|---|---|
committer | mathieui <mathieui@mathieui.net> | 2021-03-09 19:52:53 +0100 |
commit | 7d2b245bb0b4b2c27c84007df74e9517c70a05cd (patch) | |
tree | 34a00604850874814b6a99e54718fe4c1363ec31 /slixmpp/plugins/xep_0313/stanza.py | |
parent | e5f4794a36a75709c4d21d274f2defdcc50f1018 (diff) | |
download | slixmpp-7d2b245bb0b4b2c27c84007df74e9517c70a05cd.tar.gz slixmpp-7d2b245bb0b4b2c27c84007df74e9517c70a05cd.tar.bz2 slixmpp-7d2b245bb0b4b2c27c84007df74e9517c70a05cd.tar.xz slixmpp-7d2b245bb0b4b2c27c84007df74e9517c70a05cd.zip |
XEP-0441: Split MAM preferences into a separate plugin
Diffstat (limited to 'slixmpp/plugins/xep_0313/stanza.py')
-rw-r--r-- | slixmpp/plugins/xep_0313/stanza.py | 80 |
1 files changed, 0 insertions, 80 deletions
diff --git a/slixmpp/plugins/xep_0313/stanza.py b/slixmpp/plugins/xep_0313/stanza.py index 3021f1ad..55c80a35 100644 --- a/slixmpp/plugins/xep_0313/stanza.py +++ b/slixmpp/plugins/xep_0313/stanza.py @@ -169,86 +169,6 @@ class MAM(ElementBase): self._results = [] -class Preferences(ElementBase): - """MAM Preferences payload. - - .. code-block:: xml - - <iq type='set' id='juliet3'> - <prefs xmlns='urn:xmpp:mam:2' default='roster'> - <always> - <jid>romeo@montague.lit</jid> - </always> - <never> - <jid>montague@montague.lit</jid> - </never> - </prefs> - </iq> - - """ - name = 'prefs' - namespace = 'urn:xmpp:mam:2' - plugin_attrib = 'mam_prefs' - #: Available interfaces: - #: - #: - ``default``: Default MAM policy (must be one of 'roster', 'always', - #: 'never' - #: - ``always`` (``List[JID]``): list of JIDs to always store - #: conversations with. - #: - ``never`` (``List[JID]``): list of JIDs to never store - #: conversations with. - interfaces = {'default', 'always', 'never'} - sub_interfaces = {'always', 'never'} - - def get_always(self) -> Set[JID]: - results = set() - - jids = self.xml.findall('{%s}always/{%s}jid' % ( - self.namespace, self.namespace)) - - for jid in jids: - results.add(JID(jid.text)) - - return results - - def set_always(self, value: Iterable[JID]): - self._set_sub_text('always', '', keep=True) - always = self.xml.find('{%s}always' % self.namespace) - always.clear() - - if not isinstance(value, (list, set)): - value = [value] - - for jid in value: - jid_xml = ET.Element('{%s}jid' % self.namespace) - jid_xml.text = str(jid) - always.append(jid_xml) - - def get_never(self) -> Set[JID]: - results = set() - - jids = self.xml.findall('{%s}never/{%s}jid' % ( - self.namespace, self.namespace)) - - for jid in jids: - results.add(JID(jid.text)) - - return results - - def set_never(self, value: Iterable[JID]): - self._set_sub_text('never', '', keep=True) - never = self.xml.find('{%s}never' % self.namespace) - never.clear() - - if not isinstance(value, (list, set)): - value = [value] - - for jid in value: - jid_xml = ET.Element('{%s}jid' % self.namespace) - jid_xml.text = str(jid) - never.append(jid_xml) - - class Fin(ElementBase): name = 'fin' namespace = 'urn:xmpp:mam:2' |