コード例 #1
0
ファイル: AsAppChat.py プロジェクト: rogerzxu/AsAppChat
def text_handler(data):
    print(str(data))
    sender_str = str(data['sender'])
    receiver_str = str(data['receiver'])
    message_str = str(data['message_content'])
    sender_id = query_db('select id from users where user_name = ?',
                         [sender_str],
                         one=True)['id']
    receiver_id = query_db('select id from users where user_name = ?',
                           [receiver_str],
                           one=True)['id']
    insert_db(
        'insert into message (sender_user_id, receiver_user_id, message_content) values (?, ?, ?)',
        [sender_id, receiver_id, message_str])
    emit('message', data, room=data['sender'])
    emit('message', data, room=data['receiver'])
コード例 #2
0
ファイル: AsAppChat.py プロジェクト: rogerzxu/AsAppChat
def chat_history(withUser):
    userId = current_user.id
    query = """select senders.user_name as sender, receivers.user_name as receiver, m.message_content, m.timestamp
              from message m, users senders, users receivers
              where m.sender_user_id = senders.id
              and m.receiver_user_id = receivers.id
              and ((sender_user_id = ? and receivers.user_name = ?)
                or (senders.user_name = ? and receiver_user_id = ?))
              order by timestamp ASC"""
    messages = query_db(query, [userId, withUser, withUser, userId])
    return jsonify(messages=messages)
コード例 #3
0
ファイル: AsAppChat.py プロジェクト: rogerzxu/AsAppChat
def login():
    if request.method == 'POST':
        username = request.form['username']
        retuser = query_db('select * from users where user_name = ?',
                           [username],
                           one=True)
        if retuser is not None:
            login_user(User(username, retuser['id']))
            flash('You were successfully logged in!')
            return redirect(url_for('user_home'))
        else:
            flash('Invalid username!')
    return render_template('signin.html')
コード例 #4
0
ファイル: AsAppChat.py プロジェクト: rogerzxu/AsAppChat
def register():
    if request.method == 'POST':
        username = request.form['username']
        retUser = query_db('select * from users where user_name = ?',
                           [username],
                           one=True)
        if retUser is None:
            insert_db('insert into users (user_name) values(?)', [username])
            flash('You were successfully registered!')
            return render_template('signin.html')
        else:
            flash('That username is already taken!')

    return render_template('register.html')
コード例 #5
0
ファイル: AsAppChat.py プロジェクト: rogerzxu/AsAppChat
def load_user(user_id):
    retuser = query_db('select * from users where id = ?', [int(user_id)],
                       one=True)
    if retuser is not None:
        return User(retuser['user_name'], retuser['id'])
    return None
コード例 #6
0
ファイル: AsAppChat.py プロジェクト: rogerzxu/AsAppChat
def user_home():
    users = query_db('select * from users where user_name != ?',
                     [current_user.user_name])
    return render_template('user-home.html', users=users)