def follow(username): try: user = User.get(User.username**username) except DoesNotExist: abort(406) else: try: Relationship.get(Relationship.from_user == g.user, Relationship.to_user == user) except DoesNotExist: Relationship.create(from_user=g.user, to_user=user) flash('Followed {}!'.format(user.username)) return redirect(url_for('user_view', username=user.username)) else: flash('You already followed {}.'.format(user.username)) return redirect(url_for('user_view', username=user.username))
def unfollow(username): """User unfollow function. Login required. :param username: :return: redirect() """ try: to_user = User.get(User.username**username) except User.DoesNotExist: abort(404) else: try: Relationship.get(from_user=g.user._get_current_object(), to_user=to_user).delete_instance() except Relationship.IntegrityError: pass else: flash("Unfollowed {}".format(to_user.username), "success") return redirect(url_for('feed', username=to_user.username))
def unfollow(username): try: user = User.get(User.username**username) except DoesNotExist: abort(406) else: try: relation = Relationship.get(Relationship.from_user == g.user, Relationship.to_user == user) except DoesNotExist: flash('You haven\'t followed {} yet.'.format(user.username)) return redirect(url_for('user_view', username=user.username)) else: relation.delete_instance() flash('Unfollowed {}.'.format(user.username)) return redirect(url_for('user_view', username=user.username))