Move XEP-0047 to new system.
This commit is contained in:
parent
be363e0b46
commit
1f5a3a4445
@ -6,8 +6,16 @@
|
|||||||
See the file LICENSE for copying permission.
|
See the file LICENSE for copying permission.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
from sleekxmpp.plugins.base import register_plugin
|
||||||
|
|
||||||
from sleekxmpp.plugins.xep_0047 import stanza
|
from sleekxmpp.plugins.xep_0047 import stanza
|
||||||
from sleekxmpp.plugins.xep_0047.stanza import Open, Close, Data
|
from sleekxmpp.plugins.xep_0047.stanza import Open, Close, Data
|
||||||
from sleekxmpp.plugins.xep_0047.stream import IBBytestream
|
from sleekxmpp.plugins.xep_0047.stream import IBBytestream
|
||||||
from sleekxmpp.plugins.xep_0047.ibb import xep_0047
|
from sleekxmpp.plugins.xep_0047.ibb import XEP_0047
|
||||||
|
|
||||||
|
|
||||||
|
register_plugin(XEP_0047)
|
||||||
|
|
||||||
|
|
||||||
|
# Retain some backwards compatibility
|
||||||
|
xep_0047 = XEP_0047
|
||||||
|
@ -3,24 +3,25 @@ import logging
|
|||||||
import threading
|
import threading
|
||||||
|
|
||||||
from sleekxmpp import Message, Iq
|
from sleekxmpp import Message, Iq
|
||||||
from sleekxmpp.exceptions import XMPPError, IqError, IqTimeout
|
from sleekxmpp.exceptions import XMPPError
|
||||||
from sleekxmpp.xmlstream.handler import Callback
|
from sleekxmpp.xmlstream.handler import Callback
|
||||||
from sleekxmpp.xmlstream.matcher import StanzaPath
|
from sleekxmpp.xmlstream.matcher import StanzaPath
|
||||||
from sleekxmpp.xmlstream import register_stanza_plugin
|
from sleekxmpp.xmlstream import register_stanza_plugin
|
||||||
from sleekxmpp.plugins.base import base_plugin
|
from sleekxmpp.plugins import BasePlugin
|
||||||
from sleekxmpp.plugins.xep_0047 import stanza, Open, Close, Data, IBBytestream
|
from sleekxmpp.plugins.xep_0047 import stanza, Open, Close, Data, IBBytestream
|
||||||
|
|
||||||
|
|
||||||
log = logging.getLogger(__name__)
|
log = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
class xep_0047(base_plugin):
|
class XEP_0047(BasePlugin):
|
||||||
|
|
||||||
|
name = 'xep_0047'
|
||||||
|
description = 'XEP-0047: In-band Bytestreams'
|
||||||
|
dependencies = set(['xep_0030'])
|
||||||
|
stanza = stanza
|
||||||
|
|
||||||
def plugin_init(self):
|
def plugin_init(self):
|
||||||
self.xep = '0047'
|
|
||||||
self.description = 'In-Band Bytestreams'
|
|
||||||
self.stanza = stanza
|
|
||||||
|
|
||||||
self.streams = {}
|
self.streams = {}
|
||||||
self.pending_streams = {3: 5}
|
self.pending_streams = {3: 5}
|
||||||
self.pending_close_streams = {}
|
self.pending_close_streams = {}
|
||||||
@ -50,7 +51,6 @@ class xep_0047(base_plugin):
|
|||||||
StanzaPath('iq@type=set/ibb_data'),
|
StanzaPath('iq@type=set/ibb_data'),
|
||||||
self._handle_data))
|
self._handle_data))
|
||||||
|
|
||||||
def post_init(self):
|
|
||||||
self.xmpp['xep_0030'].add_feature('http://jabber.org/protocol/ibb')
|
self.xmpp['xep_0030'].add_feature('http://jabber.org/protocol/ibb')
|
||||||
|
|
||||||
def _accept_stream(self, iq):
|
def _accept_stream(self, iq):
|
||||||
@ -97,7 +97,6 @@ class xep_0047(base_plugin):
|
|||||||
cb = self._handle_opened_stream
|
cb = self._handle_opened_stream
|
||||||
return iq.send(block=block, timeout=timeout, callback=cb)
|
return iq.send(block=block, timeout=timeout, callback=cb)
|
||||||
|
|
||||||
|
|
||||||
def _handle_opened_stream(self, iq):
|
def _handle_opened_stream(self, iq):
|
||||||
if iq['type'] == 'result':
|
if iq['type'] == 'result':
|
||||||
with self._stream_lock:
|
with self._stream_lock:
|
||||||
|
@ -2,7 +2,7 @@ import re
|
|||||||
import base64
|
import base64
|
||||||
|
|
||||||
from sleekxmpp.exceptions import XMPPError
|
from sleekxmpp.exceptions import XMPPError
|
||||||
from sleekxmpp.xmlstream import register_stanza_plugin, ET, ElementBase
|
from sleekxmpp.xmlstream import ElementBase
|
||||||
from sleekxmpp.thirdparty.suelta.util import bytes
|
from sleekxmpp.thirdparty.suelta.util import bytes
|
||||||
|
|
||||||
|
|
||||||
@ -12,6 +12,7 @@ VALID_B64 = re.compile(r'[A-Za-z0-9\+\/]*=*')
|
|||||||
def to_b64(data):
|
def to_b64(data):
|
||||||
return bytes(base64.b64encode(bytes(data))).decode('utf-8')
|
return bytes(base64.b64encode(bytes(data))).decode('utf-8')
|
||||||
|
|
||||||
|
|
||||||
def from_b64(data):
|
def from_b64(data):
|
||||||
return bytes(base64.b64decode(bytes(data))).decode('utf-8')
|
return bytes(base64.b64decode(bytes(data))).decode('utf-8')
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user