Mercurial > libervia-backend
comparison src/plugins/plugin_xep_0085.py @ 1563:075a63180eab
plugin XEP-0085: fixed chatstate blinking following 0632d96f08ad change
author | Goffi <goffi@goffi.org> |
---|---|
date | Tue, 03 Nov 2015 10:23:08 +0100 |
parents | 0632d96f08ad |
children | d86685c0c019 |
comparison
equal
deleted
inserted
replaced
1562:7d91dff71067 | 1563:075a63180eab |
---|---|
29 from twisted.words.protocols.xmlstream import XMPPHandler | 29 from twisted.words.protocols.xmlstream import XMPPHandler |
30 except ImportError: | 30 except ImportError: |
31 from wokkel.subprotocols import XMPPHandler | 31 from wokkel.subprotocols import XMPPHandler |
32 from twisted.words.xish import domish | 32 from twisted.words.xish import domish |
33 from twisted.internet import reactor | 33 from twisted.internet import reactor |
34 from twisted.internet import error as internet_error | |
34 | 35 |
35 NS_XMPP_CLIENT = "jabber:client" | 36 NS_XMPP_CLIENT = "jabber:client" |
36 NS_CHAT_STATES = "http://jabber.org/protocol/chatstates" | 37 NS_CHAT_STATES = "http://jabber.org/protocol/chatstates" |
37 CHAT_STATES = ["active", "inactive", "gone", "composing", "paused"] | 38 CHAT_STATES = ["active", "inactive", "gone", "composing", "paused"] |
38 MESSAGE_TYPES = ["chat", "groupchat"] | 39 MESSAGE_TYPES = ["chat", "groupchat"] |
370 self.host.generateMessageXML(mess_data) | 371 self.host.generateMessageXML(mess_data) |
371 mess_data['xml'].addElement(state, NS_CHAT_STATES) | 372 mess_data['xml'].addElement(state, NS_CHAT_STATES) |
372 client.xmlstream.send(mess_data['xml']) | 373 client.xmlstream.send(mess_data['xml']) |
373 | 374 |
374 self.state = state | 375 self.state = state |
376 try: | |
377 self.timer.cancel() | |
378 except (internet_error.AlreadyCalled, AttributeError): | |
379 pass | |
375 | 380 |
376 if transition["next_state"] and transition["delay"] > 0: | 381 if transition["next_state"] and transition["delay"] > 0: |
377 self.timer = reactor.callLater(transition["delay"], self._onEvent, transition["next_state"]) | 382 self.timer = reactor.callLater(transition["delay"], self._onEvent, transition["next_state"]) |
378 | 383 |
379 | 384 |