Merge branch 'multi-deployment' of dl6tom.de:public/ticketfrei into multi-deployment
This commit is contained in:
commit
1af14a5db4
1
db.py
1
db.py
|
@ -79,6 +79,7 @@ class DB(object):
|
||||||
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,
|
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,
|
||||||
user_id INTEGER,
|
user_id INTEGER,
|
||||||
request_token TEXT,
|
request_token TEXT,
|
||||||
|
request_token_secret TEXT,
|
||||||
FOREIGN KEY(user_id) REFERENCES user(id)
|
FOREIGN KEY(user_id) REFERENCES user(id)
|
||||||
);
|
);
|
||||||
CREATE TABLE IF NOT EXISTS twitter_accounts (
|
CREATE TABLE IF NOT EXISTS twitter_accounts (
|
||||||
|
|
27
frontend.py
27
frontend.py
|
@ -101,21 +101,18 @@ def login_twitter(user):
|
||||||
Starts the twitter OAuth authentication process.
|
Starts the twitter OAuth authentication process.
|
||||||
:return: redirect to twitter.
|
:return: redirect to twitter.
|
||||||
"""
|
"""
|
||||||
|
consumer_key = config["twitter"]["consumer_key"]
|
||||||
|
consumer_secret = config["twitter"]["consumer_secret"]
|
||||||
|
callback_url = url("login/twitter/callback")
|
||||||
|
auth = tweepy.OAuthHandler(consumer_key, consumer_secret, callback_url)
|
||||||
try:
|
try:
|
||||||
consumer_key = config["twitter"]["consumer_key"]
|
redirect_url = auth.get_authorization_url()
|
||||||
consumer_secret = config["twitter"]["consumer_secret"]
|
except tweepy.TweepError:
|
||||||
callback_url = url("/login/twitter/callback")
|
logger.error('Twitter OAuth Error: Failed to get request token.',
|
||||||
auth = tweepy.OAuthHandler(consumer_key, consumer_secret, callback_url)
|
exc_info=True)
|
||||||
try:
|
return dict(error="Failed to get request token.")
|
||||||
redirect_url = auth.get_authorization_url()
|
user.save_request_token(auth.request_token)
|
||||||
except tweepy.TweepError:
|
return bottle.redirect(redirect_url)
|
||||||
logger.error('Twitter OAuth Error: Failed to get request token.',
|
|
||||||
exc_info=True)
|
|
||||||
return dict(error="Failed to get request token.")
|
|
||||||
user.save_request_token(auth.request_token)
|
|
||||||
return bottle.redirect(redirect_url)
|
|
||||||
except Exception:
|
|
||||||
logger.error("Error with Sign in with Twitter.", exc_info= True)
|
|
||||||
|
|
||||||
|
|
||||||
@get('/login/twitter/callback')
|
@get('/login/twitter/callback')
|
||||||
|
@ -174,3 +171,5 @@ bottle.install(SessionPlugin('/'))
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
# testing only
|
# testing only
|
||||||
bottle.run(host='localhost', port=8080)
|
bottle.run(host='localhost', port=8080)
|
||||||
|
else:
|
||||||
|
application.catchall = False
|
||||||
|
|
11
user.py
11
user.py
|
@ -128,16 +128,17 @@ class User(object):
|
||||||
return dict(foo='bar')
|
return dict(foo='bar')
|
||||||
|
|
||||||
def save_request_token(self, token):
|
def save_request_token(self, token):
|
||||||
db.execute("INSERT INTO twitter_request_tokens(user_id, request_token) VALUES(?, ?);",
|
db.execute("INSERT INTO twitter_request_tokens(user_id, request_token, request_token_secret) VALUES(?, ?, ?);",
|
||||||
(self.uid, token))
|
(self.uid, token["oauth_token"], token["oauth_token_secret"]))
|
||||||
db.commit()
|
db.commit()
|
||||||
|
|
||||||
def get_request_token(self):
|
def get_request_token(self):
|
||||||
db.execute("SELECT request_token FROM twitter_request_tokens WHERE user_id = ?;", (id,))
|
db.execute("SELECT request_token, request_token_secret FROM twitter_request_tokens WHERE user_id = ?;", (id,))
|
||||||
request_token = db.cur.fetchone()[0]
|
request_token = db.cur.fetchone()
|
||||||
db.execute("DELETE FROM twitter_request_tokens WHERE user_id = ?;", (id,))
|
db.execute("DELETE FROM twitter_request_tokens WHERE user_id = ?;", (id,))
|
||||||
db.commit()
|
db.commit()
|
||||||
return request_token
|
return {"oauth_token" : request_token[0],
|
||||||
|
"oauth_token_secret" : request_token[1]}
|
||||||
|
|
||||||
def save_twitter_token(self, access_token, access_token_secret):
|
def save_twitter_token(self, access_token, access_token_secret):
|
||||||
db.execute(
|
db.execute(
|
||||||
|
|
Loading…
Reference in a new issue