示例#1
0
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))
示例#2
0
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))
示例#3
0
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))