From 641921537b44bc43430111543e3e178536422aa8 Mon Sep 17 00:00:00 2001 From: Manuel Cortez Date: Mon, 10 Dec 2018 17:52:01 -0600 Subject: [PATCH] Added 'keep as follower' for friendship requests (needs testing) --- src/controller/buffers.py | 26 +++++++++++++++++++++++--- src/wxUI/menus.py | 2 ++ 2 files changed, 25 insertions(+), 3 deletions(-) diff --git a/src/controller/buffers.py b/src/controller/buffers.py index 945943a..5998868 100644 --- a/src/controller/buffers.py +++ b/src/controller/buffers.py @@ -817,6 +817,7 @@ class peopleBuffer(feedBuffer): # Connect the accept and decline methods from here. widgetUtils.connect_event(m, widgetUtils.MENU, self.accept_friendship, menuitem=m.accept) widgetUtils.connect_event(m, widgetUtils.MENU, self.decline_friendship, menuitem=m.decline) + widgetUtils.connect_event(m, widgetUtils.MENU, self.keep_as_follower, menuitem=m.keep_as_follower) else: m = menus.peopleMenu(is_request=False) # It is not allowed to send messages to people who is not your friends, so let's disble it if we're in a pending or outgoing requests folder. @@ -839,6 +840,9 @@ class peopleBuffer(feedBuffer): def decline_friendship(self, *args, **kwargs): pass + def keep_as_follower(self, *args, **kwargs): + pass + class requestsBuffer(peopleBuffer): def get_items(self, show_nextpage=False): @@ -861,7 +865,9 @@ class requestsBuffer(peopleBuffer): return retrieved def accept_friendship(self, *args, **kwargs): - """ Adds a person to a list of friends. This method is done for accepting someone else's friend requet.""" + """ Adds a person to a list of friends. This method is done for accepting someone else's friend request. + https://vk.com/dev/friends.add + """ person = self.get_post() result = self.session.vk.client.friends.add(user_id=person["id"]) if result == 2: @@ -871,7 +877,9 @@ class requestsBuffer(peopleBuffer): self.tab.list.remove_item(self.tab.list.get_selected()) def decline_friendship(self, *args, **kwargs): - """ Declines a freind request.""" + """ Declines a freind request. + https://vk.com/dev/friends.delete + """ person = self.get_post() result = self.session.vk.client.friends.delete(user_id=person["id"]) if "out_request_deleted" in result: @@ -880,4 +888,16 @@ class requestsBuffer(peopleBuffer): msg = _(u"You've declined the friend request of {0} {1}.").format(person["first_name"], person["last_name"]) pub.sendMessage("notify", message=msg) self.session.db[self.name]["items"].pop(self.tab.list.get_selected()) - self.tab.list.remove_item(self.tab.list.get_selected()) \ No newline at end of file + self.tab.list.remove_item(self.tab.list.get_selected()) + + def keep_as_follower(self, *args, **kwargs): + """ Adds a person to The followers list of the current user. + https://vk.com/dev/friends.add + """ + person = self.get_post() + result = self.session.vk.client.friends.add(user_id=person["id"], follow=1) + if result == 2: + msg = _(u"{0} {1} is following you.").format(person["first_name"], person["last_name"]) + pub.sendMessage("notify", message=msg) + self.session.db[self.name]["items"].pop(self.tab.list.get_selected()) + self.tab.list.remove_item(self.tab.list.get_selected()) \ No newline at end of file diff --git a/src/wxUI/menus.py b/src/wxUI/menus.py index 47276d8..d3e8ad3 100644 --- a/src/wxUI/menus.py +++ b/src/wxUI/menus.py @@ -57,6 +57,8 @@ class peopleMenu(wx.Menu): self.Append(self.accept) self.decline = wx.MenuItem(self, wx.NewId(), _(u"Decline")) self.Append(self.decline) + self.keep_as_follower = wx.MenuItem(self, wx.NewId(), _(u"Keep as follower")) + self.Append(self.keep_as_follower) class commentMenu(wx.Menu): def __init__(self, *args, **kwargs):