1
0
mirror of https://github.com/gryf/slack-backup.git synced 2025-12-17 11:30:25 +01:00

Helper Reporter methods _msg* now returns dict instead of string

This commit is contained in:
2018-03-10 19:10:35 +01:00
parent 59ae9c7046
commit 3e5dfb13cf

View File

@@ -177,77 +177,52 @@ class TextReporter(Reporter):
if len(user_name) > self._max_len: if len(user_name) > self._max_len:
self._max_len = len(user_name) self._max_len = len(user_name)
def _format_message(self, msg): def _process_message(self, msg):
""" """
Check what kind of message we are dealing with and do appropriate Check what kind of message we are dealing with and do appropriate
formatting formatting
""" """
msg_txt = self._filter_slackid(msg.text) data = super(TextReporter, self)._process_message(msg)
msg_txt = self._fix_newlines(msg_txt) data['msg'] = self._filter_slackid(data['msg'])
for emoticon in self.emoji: data['msg'] = self._fix_newlines(data['msg'])
msg_txt = msg_txt.replace(emoticon, self.emoji[emoticon]) data['msg'] = self._remove_entities(data['msg'])
formatter = self.types.get(msg.type, self._msg) data.update({'date': msg.datetime().strftime("%Y-%m-%d %H:%M:%S"),
'max_len': self._max_len,
'separator': self._get_symbol('separator'),
'tpl': self.tpl})
return data
return formatter(msg, msg_txt) def _msg_join(self, msg):
def _msg_join(self, msg, text):
"""return formatter for join""" """return formatter for join"""
return {'date': msg.datetime().strftime("%Y-%m-%d %H:%M:%S"), return {'msg': msg.text,
'msg': text, 'nick': self._get_symbol('join')}
'max_len': self._max_len,
'separator': self._get_symbol('separator'),
'nick': self._get_symbol('join'),
'tpl': '{date} {nick:>{max_len}} {separator} {msg}\n'}
def _msg_leave(self, msg, text): def _msg_leave(self, msg):
"""return formatter for leave""" """return formatter for leave"""
return {'date': msg.datetime().strftime("%Y-%m-%d %H:%M:%S"), return {'msg': msg.text,
'msg': text, 'nick': self._get_symbol('leave')}
'max_len': self._max_len,
'separator': self._get_symbol('separator'),
'nick': self._get_symbol('leave'),
'tpl': '{date} {nick:>{max_len}} {separator} {msg}\n'}
def _msg_topic(self, msg, text): def _msg_topic(self, msg):
"""return formatter for set topic""" """return formatter for set topic"""
return {'date': msg.datetime().strftime("%Y-%m-%d %H:%M:%S"), return {'msg': msg.text,
'msg': text, 'nick': self._get_symbol('topic')}
'max_len': self._max_len,
'separator': self._get_symbol('separator'),
'char': self._get_symbol('topic'),
'tpl': '{date} {char:>{max_len}} {separator} {msg}\n'}
def _msg_me(self, msg, text): def _msg_me(self, msg):
"""return formatter for /me""" """return formatter for /me"""
return {'date': msg.datetime().strftime("%Y-%m-%d %H:%M:%S"), return {'msg': msg.text,
'msg': text, 'nick': self._get_symbol('me')}
'max_len': self._max_len,
'nick': msg.user.name,
'separator': self._get_symbol('separator'),
'char': self._get_symbol('me'),
'tpl': '{date} {char:>{max_len}} {separator} {nick} {msg}\n'}
def _msg_file(self, msg, text): def _msg_file(self, msg):
"""return formatter for file""" """return formatter for file"""
fpath = os.path.abspath(msg.file.filepath) fpath = os.path.abspath(msg.file.filepath)
return {'date': msg.datetime().strftime("%Y-%m-%d %H:%M:%S"), return {'msg': self.url_pat.sub('(file://' + fpath + ') ' +
'msg': self.url_pat.sub('(file://' + fpath + ') ' + msg.file.title, msg.text),
msg.file.title, text), 'nick': self._get_symbol('file')}
'max_len': self._max_len,
'separator': self._get_symbol('separator'),
'filename': fpath,
'nick': msg.user.name,
'char': self._get_symbol('file'),
'tpl': '{date} {char:>{max_len}} {separator} {nick} '
'shared file "{filename}"{msg}\n'}
def _msg(self, msg, text): def _msg(self, msg):
"""return formatter for all other message types""" """return formatter for all other message types"""
data = {'date': msg.datetime().strftime("%Y-%m-%d %H:%M:%S"), data = {'msg': msg.text,
'msg': text,
'max_len': self._max_len,
'separator': self._get_symbol('separator'),
'nick': msg.user.name} 'nick': msg.user.name}
result = '' result = ''