-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathauthentication.py
More file actions
39 lines (26 loc) · 1 KB
/
authentication.py
File metadata and controls
39 lines (26 loc) · 1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
from dropbox import client, session
import config
ACCESS_TYPE = 'app_folder'
def create_new_session():
sess = session.DropboxSession(config.get_key(), config.get_secret(), ACCESS_TYPE)
request_token = sess.obtain_request_token()
print((sess.build_authorize_url(request_token)))
print("Visit this website and press the 'Allow' button, then hit 'Enter' here: ")
raw_input()
access_token = sess.obtain_access_token(request_token)
config.save_access_token(access_token.key, access_token.secret)
return sess
def get_previous_session():
sess = None
token_key, token_secret = config.get_access_token()
if token_key and token_secret:
sess = session.DropboxSession(config.get_key(), config.get_secret(), ACCESS_TYPE)
sess.set_token(token_key, token_secret)
return sess
def create_session():
sess = get_previous_session()
if not sess:
sess = create_new_session()
return sess
def get_client():
return client.DropboxClient(create_session())