Basic website framework
This commit is contained in:
parent
da9cbcfec5
commit
8549c91e16
2 changed files with 74 additions and 0 deletions
6
.gitignore
vendored
6
.gitignore
vendored
|
@ -102,3 +102,9 @@ venv.bak/
|
||||||
|
|
||||||
# mypy
|
# mypy
|
||||||
.mypy_cache/
|
.mypy_cache/
|
||||||
|
|
||||||
|
# Atom SFTP config files
|
||||||
|
.ftp*
|
||||||
|
|
||||||
|
# Credentials files
|
||||||
|
twitter_credentials.py
|
||||||
|
|
68
site.py
Normal file
68
site.py
Normal file
|
@ -0,0 +1,68 @@
|
||||||
|
from flask import Flask, request, redirect, session, render_template
|
||||||
|
import twitter_credentials, tweepy
|
||||||
|
|
||||||
|
app = Flask(__name__)
|
||||||
|
app.secret_key = "I'm a very mysterious secret key"
|
||||||
|
|
||||||
|
def is_keys(session):
|
||||||
|
try:
|
||||||
|
session["access_token"]
|
||||||
|
session["access_secret_token"]
|
||||||
|
except:
|
||||||
|
return False
|
||||||
|
else:
|
||||||
|
return True
|
||||||
|
|
||||||
|
def api_login(session):
|
||||||
|
auth = tweepy.OAuthHandler(twitter_credentials.consumer_key, twitter_credentials.consumer_secret_key)
|
||||||
|
auth.set_access_token(session["access_token"], session["access_secret_token"])
|
||||||
|
return tweepy.API(auth)
|
||||||
|
|
||||||
|
def api_valid(session):
|
||||||
|
try:
|
||||||
|
api_login(session).me()
|
||||||
|
except:
|
||||||
|
return False
|
||||||
|
else:
|
||||||
|
return True
|
||||||
|
|
||||||
|
@app.route("/tlogin")
|
||||||
|
def t_login():
|
||||||
|
auth = tweepy.OAuthHandler(twitter_credentials.consumer_key, twitter_credentials.consumer_secret_key, "https://cyberplanificateur.flifloo.fr/tlogin")
|
||||||
|
if request.args.get("oauth_token") and request.args.get("oauth_verifier"):
|
||||||
|
auth.request_token = {"oauth_token" : request.args.get("oauth_token"), "oauth_token_secret" : request.args.get("oauth_verifier")}
|
||||||
|
try:
|
||||||
|
auth.get_access_token(request.args.get("oauth_verifier"))
|
||||||
|
except:
|
||||||
|
return "Error ! Failed to get access token"
|
||||||
|
else:
|
||||||
|
session["access_token"] = auth.access_token
|
||||||
|
session["access_secret_token"] = auth.access_token_secret
|
||||||
|
return "Login !"
|
||||||
|
else:
|
||||||
|
if is_keys(session) and api_valid(session):
|
||||||
|
return "Already login !"
|
||||||
|
else:
|
||||||
|
return redirect(auth.get_authorization_url())
|
||||||
|
|
||||||
|
@app.route("/tlogout")
|
||||||
|
def t_logout():
|
||||||
|
if is_keys(session) and api_valid(session):
|
||||||
|
session.pop("access_token", None)
|
||||||
|
session.pop("access_secret_token", None)
|
||||||
|
return "Logout !"
|
||||||
|
else:
|
||||||
|
return "Not login !"
|
||||||
|
|
||||||
|
|
||||||
|
@app.route("/tpost")
|
||||||
|
def t_post():
|
||||||
|
if is_keys(session) and api_valid(session):
|
||||||
|
api = api_login(session)
|
||||||
|
api.update_status("bloup")
|
||||||
|
return "Send !"
|
||||||
|
else:
|
||||||
|
return "Not login !"
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
app.run(debug=True, port=5000, host="0.0.0.0")
|
Reference in a new issue