From b02137c2168db81c40991ed9713d53d4191bd6c0 Mon Sep 17 00:00:00 2001 From: Manuel Cortez Date: Tue, 16 Apr 2019 09:41:32 -0500 Subject: [PATCH] Added display of people who shared the post in the post displayer dialog --- src/interactors/postDisplayer.py | 5 +++++ src/presenters/postDisplayer.py | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/src/interactors/postDisplayer.py b/src/interactors/postDisplayer.py index 0e5410b..4fffa83 100644 --- a/src/interactors/postDisplayer.py +++ b/src/interactors/postDisplayer.py @@ -52,6 +52,8 @@ class displayPostInteractor(base.baseInteractor): widgetUtils.connect_event(self.view.tools, widgetUtils.BUTTON_PRESSED, self.on_show_tools_menu) if hasattr(self.view, "likes"): widgetUtils.connect_event(self.view.likes, widgetUtils.BUTTON_PRESSED, self.on_show_likes_menu) + if hasattr(self.view, "shares"): + widgetUtils.connect_event(self.view.shares, widgetUtils.BUTTON_PRESSED, self.on_show_shares_menu) if hasattr(self.view, "repost"): widgetUtils.connect_event(self.view.repost, widgetUtils.BUTTON_PRESSED, self.on_repost) self.view.comments.list.Bind(wx.EVT_LIST_ITEM_FOCUSED, self.on_focus) @@ -139,6 +141,9 @@ class displayPostInteractor(base.baseInteractor): def on_show_likes_menu(self, *args, **kwargs): self.presenter.show_likes() + def on_show_shares_menu(self, *args, **kwargs): + self.presenter.show_shares() + class displayAudioInteractor(base.baseInteractor): def set(self, control, value): diff --git a/src/presenters/postDisplayer.py b/src/presenters/postDisplayer.py index 4045797..463081e 100644 --- a/src/presenters/postDisplayer.py +++ b/src/presenters/postDisplayer.py @@ -425,6 +425,13 @@ class displayPostPresenter(base.basePresenter): post = {"source_id": self.post[self.user_identifier], "friends": {"items": result["items"]}} pub.sendMessage("open-post", post_object=post, controller_="displayFriendship", vars=dict(caption=_("people who liked this"))) + def show_shares(self): + data = dict(type="post", owner_id=self.post[self.user_identifier], item_id=self.post["id"], extended=True, count=1000, skip_own=True, filter="copies") + result = self.session.vk.client.likes.getList(**data) + if result["count"] > 0: + post = {"source_id": self.post[self.user_identifier], "friends": {"items": result["items"]}} + pub.sendMessage("open-post", post_object=post, controller_="displayFriendship", vars=dict(caption=_("people who shared this"))) + class displayCommentPresenter(displayPostPresenter): def __init__(self, session, postObject, view, interactor):