diff options
author | mathieui <mathieui@mathieui.net> | 2020-12-02 19:36:20 +0100 |
---|---|---|
committer | mathieui <mathieui@mathieui.net> | 2020-12-04 19:13:55 +0100 |
commit | 58c3579f74e2827c0be973cac9b0a0ae9a606a1e (patch) | |
tree | f7b665ca9293459168d66ea8e4d2373b06fb38d5 /slixmpp/plugins/xep_0422/stanza.py | |
parent | e592a46c99888594bfb0bf71da99c88755912a37 (diff) | |
download | slixmpp-58c3579f74e2827c0be973cac9b0a0ae9a606a1e.tar.gz slixmpp-58c3579f74e2827c0be973cac9b0a0ae9a606a1e.tar.bz2 slixmpp-58c3579f74e2827c0be973cac9b0a0ae9a606a1e.tar.xz slixmpp-58c3579f74e2827c0be973cac9b0a0ae9a606a1e.zip |
XEP-0422: Message Fastening
Diffstat (limited to 'slixmpp/plugins/xep_0422/stanza.py')
-rw-r--r-- | slixmpp/plugins/xep_0422/stanza.py | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/slixmpp/plugins/xep_0422/stanza.py b/slixmpp/plugins/xep_0422/stanza.py new file mode 100644 index 00000000..a739809e --- /dev/null +++ b/slixmpp/plugins/xep_0422/stanza.py @@ -0,0 +1,42 @@ +""" + Slixmpp: The Slick XMPP Library + Copyright (C) 2020 Mathieu Pasquet <mathieui@mathieui.net> + This file is part of Slixmpp. + + See the file LICENSE for copying permissio +""" + +from slixmpp.stanza import Message +from slixmpp.xmlstream import ( + ElementBase, + register_stanza_plugin, +) + + +NS = 'urn:xmpp:fasten:0' + + +class ApplyTo(ElementBase): + namespace = NS + name = 'apply-to' + plugin_attrib = 'apply_to' + interfaces = {'id', 'shell'} + + def set_shell(self, value: bool): + if value: + self.xml.attrib['shell'] = str(value).lower() + else: + if 'shell' in self.xml.attrib: + del self.xml.attrib['shell'] + + +class External(ElementBase): + namespace = NS + name = 'external' + plugin_attrib = 'external' + interfaces = {'name'} + + +def register_plugins(): + register_stanza_plugin(Message, ApplyTo) + register_stanza_plugin(ApplyTo, External) |