Esempio n. 1
0
	def save_dropbox_account_info(self):
		""" Saves user account information from dropbox in database	"""
		db_sess = MDBDropboxSession(self.token_string)
		info = db_sess.get_account_info()
		if 'display_name' in info:
			self.first_name, self.last_name = info['display_name'].split(" ")
		if 'email' in info:
			self.email = info['email']
		self.save(force_update=True)
Esempio n. 2
0
	def get_dropbox_auth_url(self):
		"""
		First step in linking User to mdb_dropbox App
		User needs to authorize the app via provided url
		Returns: auth_url
		"""
		if self.token_string != "":
			raise MDBException("FATAL: Dropbox app already authorized for user %s ?!" % self.username)
		db_sess = MDBDropboxSession()
		auth_request_token = db_sess.obtain_request_token()
		MDBUser.objects.filter(pk=self.pk).update(
			auth_token = "|".join([auth_request_token.key, auth_request_token.secret])
		)
		return db_sess.build_authorize_url(auth_request_token)
Esempio n. 3
0
	def save_access_token(self):
		"""
		Second step in linking User to mdb_dropbox App:
		After user authorized the app in first step, we can obtain access_token
		and use it in all API calls
		Returns: nothing
		"""
		if self.token_string != "":
			raise MDBException("FATAL: Dropbox app already authorized for user %s ?!" % self.username)
		# Obtain access token and save it for later use
		db_sess = MDBDropboxSession()
		#noinspection PyTupleAssignmentBalance
		token, key = self.auth_token.split('|')
		auth_request_token = oauth.OAuthToken(token,key)
		try:
			db_sess.obtain_access_token(auth_request_token)
		except Exception, e:
			raise MDBException("FATAL: Can't obtain access token for user %s (%s)" %
							   (self.username, e))