Exemplo n.º 1
0
def send_dm(username: str):
    from kagami import get_api
    api = get_api(session.get('at'), session.get('as'))
    g.form = DirectMessageForm()
    if g.form.validate_on_submit():
        api.send_direct_message(screen_name=username, text=g.form.text.data)
        return redirect(url_for('sent_dms'))
    return render_template('send_direct_message.html')
Exemplo n.º 2
0
def unretweet(status_id: str):
    if not session.get("logged_in"):
        abort(401)
    api = get_api(app.config["CK"], app.config["CS"], session.get("at"), session.get("as"))
    if request.method == "POST":
        api.destroy_status(status_id)
        return redirect(url_for("show"))
    status = api.get_status(status_id)
    return render_template("detail.html", unretweet=True, status=status, me=session.get("me"), handler=kagami.handler)
Exemplo n.º 3
0
def received_dms():
    from kagami import get_api
    api = get_api(session.get('at'), session.get('as'))
    g.page = request.args.get('page', '1')
    g.op = 'received_dms'
    try:
        g.dms = [i for i in api.direct_messages(page=int(g.page))]
    except ValueError:
        g.dms = []
    return render_template('direct_messages_list.html')
Exemplo n.º 4
0
def mention():
    if not session.get('logged_in'):
        abort(401)
    api = get_api(app.config['CK'], app.config['CS'], session.get('at'), session.get('as'))
    page = '1'
    if request.args.get('page', ''):
        page = request.args.get('page', '')
    mention_list = api.mentions_timeline(page=page)
    return render_template('send.html', statuses=mention_list,
                           page=page, ppage=str(int(page)-1),
                           npage=str(int(page)+1), op='mention', me=session.get('me'),
                           handler=kagami.handler)
Exemplo n.º 5
0
def user(username: str):
    if not session.get('logged_in'):
        abort(401)
    api = get_api(app.config['CK'], app.config['CS'], session.get('at'), session.get('as'))
    page = '1'
    if request.args.get('page', ''):
        page = request.args.get('page', '')
    friendships = None
    if username != session.get('me'):
        friendships = api.show_friendship(source_screen_name=session.get('me'), target_screen_name=username)[0]
    status_list = api.user_timeline(username, page=int(page))
    user = api.get_user(username)
    return render_template('user.html', head='@'+username+' ', statuses=status_list, me=session.get('me'),
                           page=page, npage=int(page)+1, ppage=int(page)-1, username=username,
                           handler=kagami.handler, user=user, friendship=friendships)
Exemplo n.º 6
0
def reply(status_id: str):
    if not session.get("logged_in"):
        abort(401)
    api = get_api(app.config["CK"], app.config["CS"], session.get("at"), session.get("as"))
    if request.method == "POST":
        api.update_status(status=request.form["text"], in_reply_to_status_id=status_id)
        return redirect(url_for("show"))
    status = api.get_status(status_id)
    return render_template(
        "detail.html",
        status=status,
        head=kagami.handler.reply_handle(status.text, status.user.screen_name),
        reply=True,
        me=session.get("me"),
        handler=kagami.handler,
    )
Exemplo n.º 7
0
def login():
    error = None
    if request.method == 'POST':
        try:
            access_token, access_secret = TwProxyGetAuth.init_oauth(request.form['username'],
                                                                    request.form['password'],
                                                                    app.config['CK'], app.config['CS'])
        except:
            return render_template('login.html')
        session['logged_in'] = True
        session['at'] = access_token
        session['as'] = access_secret
        api = get_api(app.config['CK'], app.config['CS'], session.get('at'), session.get('as'))
        me = api.me()
        session['me'] = me.screen_name
        session['offset'] = me.utc_offset
        return redirect(url_for('show'))
    return render_template('login.html', error=error)
Exemplo n.º 8
0
def show():
    if not session.get("logged_in"):
        return render_template("send.html")
    api = get_api(app.config["CK"], app.config["CS"], session.get("at"), session.get("as"))
    page = "1"
    if request.args.get("page", ""):
        page = request.args.get("page", "")
    status = api.home_timeline(page=int(page))
    return render_template(
        "send.html",
        statuses=status,
        me=session.get("me"),
        page=page,
        npage=int(page) + 1,
        ppage=int(page) - 1,
        op="show",
        handler=kagami.handler,
    )
Exemplo n.º 9
0
def update():
    if not session.get("logged_in"):
        abort(401)
    api = get_api(app.config["CK"], app.config["CS"], session.get("at"), session.get("as"))
    api.update_status(status=request.form["text"])
    return redirect(url_for("show"))
Exemplo n.º 10
0
def detail(status_id: str):
    if not session.get("logged_in"):
        abort(401)
    api = get_api(app.config["CK"], app.config["CS"], session.get("at"), session.get("as"))
    status = api.get_status(status_id)
    return render_template("detail.html", status=status, me=session.get("me"), handler=kagami.handler)
Exemplo n.º 11
0
def unfollow(username: str):
    api = get_api(app.config['CK'], app.config['CS'], session.get('at'), session.get('as'))
    api.destroy_friendship(screen_name=username)
    return redirect(url_for('user', username=username))
Exemplo n.º 12
0
def me():
    if not session.get('logged_in'):
        abort(401)
    api = get_api(app.config['CK'], app.config['CS'], session.get('at'), session.get('as'))
    username = api.me().screen_name
    return redirect(url_for('user', username=username))