def __init__(self, con): BaseModule.__init__(self, con) self.handlers = [ StanzaHandler(name='iq', typ='result', callback=self._on_jingle_iq), StanzaHandler(name='iq', typ='error', callback=self._on_jingle_iq), StanzaHandler(name='iq', typ='set', ns=Namespace.JINGLE, callback=self._on_jingle_iq), StanzaHandler(name='iq', typ='get', ns=Namespace.PUBKEY_PUBKEY, callback=self._on_pubkey_request), StanzaHandler(name='iq', typ='result', ns=Namespace.PUBKEY_PUBKEY, callback=self._pubkey_result_received), ] # dictionary: sessionid => JingleSession object self._sessions = {} # dictionary: (jid, iq stanza id) => JingleSession object, # one time callbacks self.__iq_responses = {} self.files = []
def __init__(self, con): BaseModule.__init__(self, con, plugin=True) self.handlers = [ StanzaHandler(name='message', callback=self._message_received, ns=nbxmpp.NS_OMEMO_TEMP, priority=9), StanzaHandler(name='presence', callback=self._on_muc_user_presence, ns=nbxmpp.NS_MUC_USER, priority=48), ] self._register_pubsub_handler(self._devicelist_notification_received) self.available = True self._own_jid = self._con.get_own_jid().getStripped() self._backend = self._get_backend() self._omemo_groupchats = set() self._muc_temp_store = {} self._query_for_bundles = [] self._device_bundle_querys = [] self._query_for_devicelists = []
def __init__(self, con): BaseModule.__init__(self, con) self.handlers = [ StanzaHandler(name='presence', callback=self._presence_received, priority=50), StanzaHandler(name='presence', callback=self._subscribe_received, typ='subscribe', priority=49), StanzaHandler(name='presence', callback=self._subscribed_received, typ='subscribed', priority=49), StanzaHandler(name='presence', callback=self._unsubscribe_received, typ='unsubscribe', priority=49), StanzaHandler(name='presence', callback=self._unsubscribed_received, typ='unsubscribed', priority=49), ] # keep the jids we auto added (transports contacts) to not send the # SUBSCRIBED event to GUI self.automatically_added = [] # list of jid to auto-authorize self._jids_for_auto_auth = set()
def _register_handlers(self): self._caller.peerhost = self.Connection._sock.getsockname() self.RegisterHandler( *StanzaHandler(name='message', callback=self._caller._messageCB)) self.RegisterHandler( *StanzaHandler(name='message', typ='error', callback=self._caller._message_error_received)) self._caller._register_new_handlers(self)
def __init__(self, con): BaseModule.__init__(self, con) self.handlers = [ StanzaHandler(name='iq', callback=self.received_item, typ='set', ns=Namespace.ROSTERX), StanzaHandler(name='message', callback=self.received_item, ns=Namespace.ROSTERX), ]
def __init__(self, client): BaseModule.__init__(self, client) self._client = client self.handlers = [ StanzaHandler(name='message', callback=self._process_message_base, priority=5), StanzaHandler(name='message', callback=self._process_message_after_base, priority=10), ]
def __init__(self, con): BaseModule.__init__(self, con) self.handlers = [ StanzaHandler(name='iq', callback=self._roster_push_received, typ='set', ns=Namespace.ROSTER), StanzaHandler(name='presence', callback=self._presence_received), ] self._data = {} self._set = None
def __init__(self, con): BaseModule.__init__(self, con) self.handlers = [ StanzaHandler(name='iq', callback=self._answer_disco_info, typ='get', ns=nbxmpp.NS_DISCO_INFO), StanzaHandler(name='iq', callback=self._answer_disco_items, typ='get', ns=nbxmpp.NS_DISCO_ITEMS), ]
def __init__(self, client): BaseModule.__init__(self, client) self._client = client self.handlers = [ StanzaHandler(name='message', callback=self._process_http_auth, ns=Namespace.HTTP_AUTH, priority=40), StanzaHandler(name='iq', callback=self._process_http_auth, typ='get', ns=Namespace.HTTP_AUTH, priority=40) ]
def __init__(self, client): BaseModule.__init__(self, client) self._client = client self.handlers = [ StanzaHandler(name='message', callback=self._process_message_delay, ns=Namespace.DELAY2, priority=15), StanzaHandler(name='presence', callback=self._process_presence_delay, ns=Namespace.DELAY2, priority=15) ]
def __init__(self, client): BaseModule.__init__(self, client) self._client = client self.handlers = [ StanzaHandler(name='message', callback=self._process_pgplegacy_message, ns=Namespace.ENCRYPTED, priority=7), StanzaHandler(name='presence', callback=self._process_signed, ns=Namespace.SIGNED, priority=15) ]
def __init__(self, con): BaseModule.__init__(self, con) self.handlers = [ StanzaHandler(name='message', callback=self._http_auth, ns=NS_HTTP_AUTH, priority=45), StanzaHandler(name='iq', callback=self._http_auth, typ='get', ns=NS_HTTP_AUTH, priority=45) ]
def __init__(self, client): BaseModule.__init__(self, client) self._client = client self.handlers = [ StanzaHandler(name='message', callback=self._process_omemo_devicelist, ns=Namespace.PUBSUB_EVENT, priority=16), StanzaHandler(name='message', callback=self._process_omemo_message, ns=Namespace.OMEMO_TEMP, priority=7), ]
def __init__(self, client): BaseModule.__init__(self, client) self._client = client self.handlers = [ StanzaHandler(name='message', callback=self._process_pubsub_openpgp, ns=Namespace.PUBSUB_EVENT, priority=16), StanzaHandler(name='message', callback=self._process_openpgp_message, ns=Namespace.OPENPGP, priority=7), ]
def test_purge_event(self): def _on_message(_con, _stanza, properties): pubsub_event = PubSubEventData(node='princely_musings', id=None, item=None, data=None, deleted=False, retracted=False, purged=True) self.assertEqual(pubsub_event, properties.pubsub_event) event = ''' <message from='*****@*****.**' id='b5ac48d0-0f9c-11dc-8754-001143d5d5db'> <event xmlns='http://jabber.org/protocol/pubsub#event'> <purge node='princely_musings'/> </event> </message> ''' self.dispatcher.register_handler( StanzaHandler(name='message', callback=_on_message, ns=Namespace.PUBSUB_EVENT, priority=16)) self.dispatcher.process_data(event)
def test_retracted_event(self): def _on_message(_con, _stanza, properties): pubsub_event = PubSubEventData( node='princely_musings', id='ae890ac52d0df67ed7cfdf51b644e901', item=None, data=None, deleted=False, retracted=True, purged=False) self.assertEqual(pubsub_event, properties.pubsub_event) event = ''' <message from='*****@*****.**' id='b5ac48d0-0f9c-11dc-8754-001143d5d5db'> <items node='princely_musings'> <retract id='ae890ac52d0df67ed7cfdf51b644e901'/> </items> </message> ''' self.dispatcher.register_handler( StanzaHandler(name='message', callback=_on_message, ns=Namespace.PUBSUB_EVENT, priority=16)) self.dispatcher.process_data(event)
def test_delete_event(self): def _on_message(_con, _stanza, properties): pubsub_event = PubSubEventData(node='princely_musings', id=None, item=None, data=None, deleted=True, retracted=False, purged=False) self.assertEqual(pubsub_event, properties.pubsub_event) event = ''' <message from='*****@*****.**' id='b5ac48d0-0f9c-11dc-8754-001143d5d5db'> <delete node='princely_musings'> <redirect uri='xmpp:[email protected]?;node=blog'/> </delete> </message> ''' self.dispatcher.register_handler( StanzaHandler(name='message', callback=_on_message, ns=Namespace.PUBSUB_EVENT, priority=16)) self.dispatcher.process_data(event)
def _create_client(self): self._client = Client(log_context='TEST') self._client.set_domain(self.address.domain) self._client.set_username(self.address.localpart) self._client.set_resource('test') proxy_ip = self._builder.proxy_ip.get_text() if proxy_ip: proxy_port = int(self._builder.proxy_port.get_text()) proxy_host = '%s:%s' % (proxy_ip, proxy_port) proxy = ProxyData( self._builder.proxy_type.get_active_text().lower(), proxy_host, self._builder.proxy_username.get_text() or None, self._builder.proxy_password.get_text() or None) self._client.set_proxy(proxy) self._client.set_connection_types(self._get_connection_types()) self._client.set_protocols(self._get_connection_protocols()) self._client.set_password(self.password) self._client.subscribe('resume-failed', self._on_signal) self._client.subscribe('resume-successful', self._on_signal) self._client.subscribe('disconnected', self._on_signal) self._client.subscribe('connection-lost', self._on_signal) self._client.subscribe('connection-failed', self._on_signal) self._client.subscribe('connected', self._on_connected) self._client.subscribe('stanza-sent', self._on_stanza_sent) self._client.subscribe('stanza-received', self._on_stanza_received) self._client.register_handler( StanzaHandler('message', self._on_message))
def test_bookmark_1_parsing(self): def _on_message(_con, _stanza, properties): data = [ BookmarkData( jid=JID.from_string('*****@*****.**'), name='The Play\'s the Thing', autojoin=True, password='******', nick='JC'), BookmarkData( jid=JID.from_string('*****@*****.**'), name='Second room', autojoin=False, password=None, nick=None) ] pubsub_event = PubSubEventData(node='storage:bookmarks', id='current', item=None, data=data, deleted=False, retracted=False, purged=False) # We cant compare Node objects pubsub_event_ = properties.pubsub_event._replace(item=None) self.assertEqual(pubsub_event, pubsub_event_) event = ''' <message from='*****@*****.**'> <event xmlns='http://jabber.org/protocol/pubsub#event'> <items node='storage:bookmarks'> <item id='current'> <storage xmlns='storage:bookmarks'> <conference name='The Play's the Thing' autojoin='true' jid='*****@*****.**'> <password>pass</password> <nick>JC</nick> </conference> <conference name='Second room' autojoin='0' jid='*****@*****.**'> </conference> </storage> </item> </items> </event> </message> ''' self.dispatcher.register_handler( StanzaHandler(name='message', callback=_on_message, ns=Namespace.PUBSUB_EVENT)) self.dispatcher.process_data(event)
def __init__(self, con): BaseModule.__init__(self, con) self.handlers = [ StanzaHandler(name='message', callback=self._set_message_archive_info, priority=41), StanzaHandler(name='message', callback=self._mam_message_received, priority=51), ] self.available = False self._mam_query_ids = {} # Holds archive jids where catch up was successful self._catch_up_finished = []
def __init__(self, con): BaseModule.__init__(self, con) self.handlers = [ StanzaHandler(name='iq', callback=self._ibb_received, ns=Namespace.IBB), ]
def __init__(self, con): BaseModule.__init__(self, con) self.handlers = [ StanzaHandler(name='iq', callback=self._answer_request, typ='get', ns=Namespace.TIME_REVISED), ]
def __init__(self, con): BaseModule.__init__(self, con) self.handlers = [ StanzaHandler(name='message', callback=self._process_chat_marker, ns=Namespace.CHATMARKERS, priority=47), ]
def __init__(self, con): BaseModule.__init__(self, con) self.handlers = [ StanzaHandler(name='message', callback=self._check_if_unknown_contact, priority=41), StanzaHandler(name='message', callback=self._message_received, priority=50), StanzaHandler(name='message', typ='error', callback=self._message_error_received, priority=50), ] # XEPs for which this message module should not be executed self._message_namespaces = set([Namespace.ROSTERX, Namespace.IBB])
def __init__(self, con): BaseModule.__init__(self, con) self.handlers = [ StanzaHandler(name='iq', typ='get', callback=self._answer_request, ns=nbxmpp.NS_LAST), ]
def __init__(self, con): BaseModule.__init__(self, con) self.handlers = [ StanzaHandler(name='message', callback=self._process_message_receipt, ns=Namespace.RECEIPTS, priority=46), ]
def __init__(self, con): BaseModule.__init__(self, con) self.handlers = [ StanzaHandler(name='iq', callback=self._iq_error_received, typ='error', priority=51), ]
def __init__(self, client): BaseModule.__init__(self, client) self._client = client self.handlers = [ StanzaHandler(name='message', callback=self._process_pubsub_nickname, ns=Namespace.PUBSUB_EVENT, priority=16), StanzaHandler(name='message', callback=self._process_nickname, ns=Namespace.NICK, priority=40), StanzaHandler(name='presence', callback=self._process_nickname, ns=Namespace.NICK, priority=40), ]
def register_handlers(self): handlers = [ StanzaHandler(name='enabled', callback=self._on_enabled, xmlns=Namespace.STREAM_MGMT), StanzaHandler(name='failed', callback=self._on_failed, xmlns=Namespace.STREAM_MGMT), StanzaHandler(name='r', callback=self._send_ack, xmlns=Namespace.STREAM_MGMT), StanzaHandler(name='a', callback=self._on_ack, xmlns=Namespace.STREAM_MGMT) ] for handler in handlers: self._client.register_handler(handler)
def __init__(self, client): BaseModule.__init__(self, client) self._client = client self.handlers = [ StanzaHandler(name='presence', callback=self._process_presence_base, priority=10), ]