Add a xep-0334 plugin

This commit is contained in:
mathieui 2016-06-04 19:34:12 +02:00
parent e7248d9af9
commit ffced0ed9a
3 changed files with 72 additions and 0 deletions

View file

@ -0,0 +1,14 @@
"""
Slixmpp: The Slick XMPP Library
Copyright (C) 2012 Nathanael C. Fritz, Lance J.T. Stout
This file is part of Slixmpp.
See the file LICENSE for copying permission.
"""
from slixmpp.plugins.base import register_plugin
from slixmpp.plugins.xep_0334.stanza import Store, NoStore, NoPermanentStore, NoCopy
from slixmpp.plugins.xep_0334.hints import XEP_0334
register_plugin(XEP_0334)

View file

@ -0,0 +1,28 @@
"""
Slixmpp: The Slick XMPP Library
Copyright (C) 2016 Nathanael C. Fritz, Lance J.T. Stout
This file is part of Slixmpp.
See the file LICENSE for copying permission.
"""
import logging
from slixmpp import Message
from slixmpp.plugins import BasePlugin
from slixmpp.xmlstream import register_stanza_plugin
from slixmpp.plugins.xep_0334 import stanza, Store, NoStore, NoPermanentStore, NoCopy
log = logging.getLogger(__name__)
class XEP_0334(BasePlugin):
name = 'xep_0334'
description = 'XEP-0334: Message Processing Hints'
stanza = stanza
def plugin_init(self):
register_stanza_plugin(Message, Store)
register_stanza_plugin(Message, NoStore)
register_stanza_plugin(Message, NoPermanentStore)
register_stanza_plugin(Message, NoCopy)

View file

@ -0,0 +1,30 @@
"""
slixmpp: The Slick XMPP Library
Implementation of Message Processing Hints
http://xmpp.org/extensions/xep-0334.html
This file is part of slixmpp.
See the file LICENSE for copying permission.
"""
from slixmpp.xmlstream import ElementBase
class Store(ElementBase):
name = 'store'
plugin_attrib = 'store'
namespace = 'urn:xmpp:hints'
class NoPermanentStore(ElementBase):
name = 'no-permanent-store'
plugin_attrib = 'no-permanent-store'
namespace = 'urn:xmpp:hints'
class NoStore(ElementBase):
name = 'no-store'
plugin_attrib = 'no-store'
namespace = 'urn:xmpp:hints'
class NoCopy(ElementBase):
name = 'no-copy'
plugin_attrib = 'no-copy'
namespace = 'urn:xmpp:hints'