2019-04-16 12:24:42 -05:00
|
|
|
# -*- coding: utf-8 -*-
|
|
|
|
import logging
|
2019-08-22 09:22:16 -05:00
|
|
|
import output
|
2019-08-27 08:29:02 -05:00
|
|
|
from pubsub import pub
|
2019-04-16 12:24:42 -05:00
|
|
|
from sessionmanager import renderers, utils # We'll use some functions from there
|
|
|
|
from presenters import base
|
|
|
|
from presenters.createPosts.basePost import createPostPresenter
|
|
|
|
from . import comment
|
|
|
|
|
|
|
|
log = logging.getLogger(__file__)
|
|
|
|
|
|
|
|
def get_message(status):
|
|
|
|
message = ""
|
|
|
|
if "text" in status:
|
|
|
|
message = utils.clean_text(status["text"])
|
|
|
|
return message
|
|
|
|
|
|
|
|
class displayTopicCommentPresenter(comment.displayCommentPresenter):
|
|
|
|
|
|
|
|
def get_post_information(self):
|
|
|
|
from_ = self.session.get_user(self.post[self.user_identifier])
|
|
|
|
title = from_["user1_nom"]
|
|
|
|
self.send_message("set_title", value=title)
|
|
|
|
message = ""
|
|
|
|
message = get_message(self.post)
|
|
|
|
self.send_message("set", control="post_view", value=message)
|
|
|
|
self.get_attachments(self.post, message)
|
|
|
|
self.check_image_load()
|
|
|
|
self.send_message("disable_control", control="reply")
|
2019-08-22 09:22:16 -05:00
|
|
|
self.send_message("disable_control", control="comments")
|
|
|
|
|
|
|
|
def post_like(self):
|
|
|
|
id = self.post["id"]
|
|
|
|
if self.post["likes"]["user_likes"] == 1:
|
|
|
|
l = self.session.vk.client.likes.delete(owner_id=self.post["group_id"], item_id=id, type="topic_comment")
|
|
|
|
output.speak(_("You don't like this"))
|
|
|
|
self.post["likes"]["count"] = l["likes"]
|
|
|
|
self.post["likes"]["user_likes"] = 2
|
|
|
|
self.send_message("set_label", control="like", label=_("&Like"))
|
|
|
|
else:
|
|
|
|
l = self.session.vk.client.likes.add(owner_id=self.post["group_id"], item_id=id, type="topic_comment")
|
|
|
|
output.speak(_("You liked this"))
|
|
|
|
self.send_message("set_label", control="like", label=_("&Dislike"))
|
|
|
|
self.post["likes"]["count"] = l["likes"]
|
|
|
|
self.post["likes"]["user_likes"] = 1
|
2019-08-27 08:29:02 -05:00
|
|
|
self.get_likes()
|
|
|
|
|
|
|
|
def show_likes(self):
|
|
|
|
""" show likes for the specified post."""
|
|
|
|
data = dict(type="topic_comment", owner_id=self.post["group_id"], item_id=self.post["id"], extended=True, count=100, skip_own=True)
|
|
|
|
result = self.session.vk.client.likes.getList(**data)
|
|
|
|
if result["count"] > 0:
|
|
|
|
post = {"source_id": self.post["group_id"], "friends": {"items": result["items"]}}
|
|
|
|
pub.sendMessage("open-post", post_object=post, controller_="displayFriendship", vars=dict(caption=_("people who liked this")))
|