Skip to content
Snippets Groups Projects
Commit e50e2a66 authored by Johann Jacobsohn's avatar Johann Jacobsohn
Browse files

get, display and also search by reporter

parent e4972cc3
Branches
Tags
No related merge requests found
......@@ -25,6 +25,7 @@ class PostDTO:
""""Encapsulate Mattermost Posts."""
id: str
message: str
reporter: str
class Mattermost:
......@@ -37,11 +38,22 @@ class Mattermost:
'port': 443
})
self.mattermost.login()
self.reporters = {}
def get_reporter(self, id):
if id not in self.reporters:
self.reporters[id] = self.mattermost.users.get_user(id)["username"]
return self.reporters[id]
def retrieve_all_messages(self):
"""Retrieve all messages from mattermost, unfiltered for papers."""
posts = self.mattermost.posts.get_posts_for_channel(CHANNEL)
return [PostDTO(m['id'], m['message'])
return [PostDTO(
id=m['id'],
message=m['message'],
reporter=self.get_reporter(m['user_id']),
)
for m in posts['posts'].values()]
def filter_incoming(self, posts):
......@@ -56,7 +68,9 @@ class Mattermost:
def get_filtered(self, needle):
"""Filter posts by needle."""
return [m for m in self.msgs if needle.lower() in m.message.lower()]
return [m for m in self.msgs
if needle.lower() in m.message.lower()
or needle.lower() in m.reporter.lower()]
class Papersurfer:
......@@ -74,7 +88,7 @@ class Papersurfer:
papers = self.mtm.retrieve()
body = []
for paper in papers:
button = urwid.Button(paper.message)
button = urwid.Button(f"{paper.message} ({paper.reporter})")
urwid.connect_signal(button, 'click',
partial(self.handle_paper, paper))
body.append(urwid.AttrMap(button, None, focus_map='reversed'))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment