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')
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)
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')
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)
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)
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, )
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)
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, )
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"))
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)
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))
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))