Compare commits

...

3 Commits

Author SHA1 Message Date
R. Richard
dc5e26843a Refactor MessageSender 2020-06-24 13:44:07 +02:00
Gergo Turcsanyi
e5d0e91e93 Fix message timing on empty queue 2020-05-29 12:01:37 +02:00
Gergo Turcsanyi
e58f0b1d04 Update inotify paths on pattern change 2020-05-29 11:57:54 +02:00
3 changed files with 15 additions and 12 deletions

View File

@ -27,14 +27,15 @@ class MessageQueueHandler:
def _dispatch_messages(self):
for message in iter(self._queue.get, None):
message['typing'] = not self._queue.empty()
is_queue_empty = self._queue.empty()
message['typing'] = not is_queue_empty
self.connector.send_message(message)
self._sleep(self._get_sleep_time(message))
self._sleep(self._get_sleep_time(message, is_queue_empty))
def _get_sleep_time(self, message):
def _get_sleep_time(self, message, is_queue_empty):
words_per_min = message['wpm'] if 'wpm' in message else self.wpm
chars_per_min = self.avg_word_len * words_per_min / 60
return len(message['message']) / chars_per_min
return 0 if is_queue_empty else len(message['message']) / chars_per_min
def _sleep(self, seconds):
poll_freq = self.drain_poll_freq

View File

@ -1,17 +1,22 @@
DEFAULT_ORIGINATOR = 'avataobot'
class MessageSender:
def __init__(self, uplink):
self.uplink = uplink
def send(self, message, originator=None):
def send(self, message, originator=DEFAULT_ORIGINATOR, buttons=None):
message = {
'key': 'message.send',
'message': message
}
if originator:
message['originator'] = originator
if buttons:
message['buttons'] = buttons
self.uplink.send_message(message)
def queue_messages(self, messages, originator=None):
def queue_messages(self, messages, originator=DEFAULT_ORIGINATOR, buttons=None):
message_queue = {
'key': 'message.queue',
'messages': []
@ -21,10 +26,6 @@ class MessageSender:
if originator:
next_message['originator'] = originator
message_queue['messages'].append(next_message)
if buttons and message_queue['messages']:
message_queue['messages'][-1]['buttons'] = buttons
self.uplink.send_message(message_queue)
def set_originator(self, originator):
self.uplink.send_message({
'key': 'message.config',
'originator': originator
})

View File

@ -79,6 +79,7 @@ class IdeHandler:
def read(self, message):
if 'patterns' in message:
self.filemanager.patterns = message['patterns']
self.monitor.paths = self.filemanager.parents
try:
message['filename'] = self.filemanager.find_file(
message.get('filename') or self.initial_file