def DeleteDuplicateFollows(self): q = Follow.query() i = 0 for f in q.iter(): i = i+1 q2 = Follow.query(ndb.AND(Follow.user == f.user, Follow.pointRoot == f.pointRoot)) existingFollows = q2.fetch(4) if len(existingFollows) > 1: for ef in existingFollows[1:]: logging.info('Deleting follow for R:%s U:%s T:%s' % (str(ef.pointRoot), str(ef.user), ef.reason)) ef.key.delete() logging.info('Checked %d follows' % i)
def post(self, user_id): user = users.get_current_user() o_user = User.get_by_id(int(user_id)) u_email = user.email() o_email = o_user.email follow_user = self.request.get("follow") if follow_user == "follow": follow = Follow(user_id=u_email, following_id=o_email) follow.put() return self.redirect('/other/' + str(user_id)) else: following = Follow.query(Follow.user_id == u_email, Follow.following_id == o_email).get() following.key.delete() return self.redirect('/other/' + str(user_id))
def get(self): user = users.get_current_user() c_user = User.query(User.email == user.email()).get() name = c_user.name handle = c_user.handle following_list = Follow.query(Follow.user_id == user.email()).fetch() if following_list: for followers in following_list: follow = followers.following_id msg_list = Message.query(Message.email == follow, Message.deleted == False).fetch() sorted_list = sorted(msg_list, key=attrgetter("date"), reverse=True) if msg_list: for message in msg_list: uid = message.userid o_user = User.query(User.user_id == uid).get() params = { "list": sorted_list, "o_user": o_user, "name": name, "handle": handle } return self.render_template("following.html", params=params) else: params = {"name": name, "handle": handle} return self.render_template("following.html", params=params) else: params = {"name": name, "handle": handle} return self.render_template("following.html", params=params)
def get(self, user_id): o_user = User.get_by_id(int(user_id)) name = o_user.name handle = o_user.handle email = o_user.email message_list = Message.query(Message.email == o_user.email, Message.deleted == False).fetch() sorted_list = sorted(message_list, key=attrgetter("date"), reverse=True) user = users.get_current_user() if user: u_email = user.email() follow_check = Follow.query(Follow.user_id == u_email, Follow.following_id == email).get() params = { "list": sorted_list, "user": o_user, "name": name, "handle": handle, "id_user": user_id, "follow_check": follow_check } return self.render_template("other.html", params=params) else: params = { "list": message_list, "user": o_user, "name": name, "handle": handle, "id_user": user_id } return self.render_template("other.html", params=params)