Ejemplo n.º 1
0
def index():
    """Shows a users timeline or if no user is logged in it will
    redirect to the public timeline.  This timeline shows the user's
    messages as well as all the messages of followed users.
    """
    if not g.user:
        return redirect(functions.url_for('/public'))
    query_messages = functions.query_db('''
        select message.*, user.* from message, user
        where message.author_id = user.user_id and (
            user.user_id = ? or
            user.user_id in (select whom_id from follower
                                    where who_id = ?))
        order by message.pub_date desc limit ?''',
        [session['user_id'], session['user_id'], PER_PAGE])
    count_tweets = functions.count_db('''
        select message.* from message
        where message.author_id = ?''',
        [session['user_id']])
    count_following = functions.count_db('''
        select whom_id from follower
        where who_id = ?''', [session['user_id']])
    count_followers = functions.count_db('''
        select who_id from follower
        where whom_id = ?''', [session['user_id']])
    return render_template('timeline.html', messages=query_messages, tweets=count_tweets, following=count_following, followers=count_followers)
Ejemplo n.º 2
0
def user(username):
    """Display's a users tweets."""
    profile_user = functions.query_db('select * from user where username = ?',
                            [username], one=True)
    count_tweets = functions.count_db('''
        select message.* from message
        where message.author_id = ?''',
        [profile_user['user_id']])
    count_following = functions.count_db('''
        select whom_id from follower
        where who_id = ?''', [profile_user['user_id']])
    count_followers = functions.count_db('''
        select who_id from follower
        where whom_id = ?''', [profile_user['user_id']])
    if profile_user is None:
        abort(404)
    followed = False
    if g.user:
        followed = functions.query_db('''select 1 from follower where
            follower.who_id = ? and follower.whom_id = ?''',
            [session['user_id'], profile_user['user_id']],
            one=True) is not None
    return render_template('timeline.html', messages=functions.query_db('''
            select message.*, user.* from message, user where
            user.user_id = message.author_id and user.user_id = ?
            order by message.pub_date desc limit ?''',
            [profile_user['user_id'], PER_PAGE]), followed=followed,
            profile_user=profile_user, tweets=count_tweets, following=count_following, followers=count_followers)