def __init__(self, oauth_version, consumer_key, consumer_secret, **kwargs): """ consumer_key : client key consumer_secret : client secret access_token : access token access_token_secret : access token secret from_file : file containing the credentials base_url : Base url """ self.oauth_version = oauth_version data = {} if kwargs.get('from_file'): logger.debug("Checking ") self.from_file = kwargs.get('from_file') data = get_data(self.from_file) vars(self).update(data) else: self.consumer_key = consumer_key self.consumer_secret = consumer_secret vars(self).update(kwargs) self.oauth_version = oauth_version self.callback_uri = vars(self).get('callback_uri', CALLBACK_URI) if 'browser_callback' in kwargs.keys(): self.browser_callback = kwargs.get('browser_callback') else: self.browser_callback = True # Init OAuth if self.oauth_version == 'oauth1': service_params = { 'consumer_key': self.consumer_key, 'consumer_secret': self.consumer_secret, 'request_token_url': services[self.oauth_version]['REQUEST_TOKEN_URL'] } else: service_params = { 'client_id': self.consumer_key, 'client_secret': self.consumer_secret } service_params.update({ 'name': 'yahoo', 'access_token_url': services[self.oauth_version]['ACCESS_TOKEN_URL'], 'authorize_url': services[self.oauth_version]['AUTHORIZE_TOKEN_URL'], 'base_url': vars(self).get('base_url', None) }) # Defining oauth service self.oauth = services[oauth_version]['SERVICE'](**service_params) if vars(self).get('access_token') and vars(self).get( 'access_token_secret') and vars(self).get('session_handle'): if not self.token_is_valid(): data.update(self.refresh_access_token()) elif vars(self).get('access_token') and vars(self).get( 'token_type') and vars(self).get('refresh_token'): if not self.token_is_valid(): data.update(self.refresh_access_token()) else: data.update(self.handler()) # Getting session if self.oauth_version == 'oauth1': self.session = self.oauth.get_session( (self.access_token, self.access_token_secret)) else: self.session = self.oauth.get_session(token=self.access_token) write_data(data, vars(self).get('from_file', 'secrets.json'))
def test_write_data(data, data_format): write_data(data, data_format) assert os.path.exists(data_format)
def __init__(self, oauth_version, consumer_key, consumer_secret, **kwargs): """ consumer_key : client key consumer_secret : client secret access_token : access token access_token_secret : access token secret from_file : file containing the credentials base_url : Base url """ self.oauth_version = oauth_version data = {} if kwargs.get('from_file'): logger.debug("Checking ") self.from_file = kwargs.get('from_file') data = get_data(self.from_file) vars(self).update(data) else: self.consumer_key = consumer_key self.consumer_secret = consumer_secret vars(self).update(kwargs) self.oauth_version = oauth_version self.callback_uri = vars(self).get('callback_uri',CALLBACK_URI) # Init OAuth if self.oauth_version == 'oauth1': service_params = { 'consumer_key': self.consumer_key, 'consumer_secret' : self.consumer_secret, 'request_token_url': services[self.oauth_version]['REQUEST_TOKEN_URL'] } else: service_params = { 'client_id': self.consumer_key, 'client_secret': self.consumer_secret } service_params.update({ 'name' : 'yahoo', 'access_token_url' : services[self.oauth_version]['ACCESS_TOKEN_URL'], 'authorize_url' : services[self.oauth_version]['AUTHORIZE_TOKEN_URL'], 'base_url': vars(self).get('base_url',None) }) # Defining oauth service self.oauth = services[oauth_version]['SERVICE'](**service_params) if vars(self).get('access_token') and vars(self).get('access_token_secret') and vars(self).get('session_handle'): if not self.token_is_valid(): data.update(self.refresh_access_token()) elif vars(self).get('access_token') and vars(self).get('token_type') and vars(self).get('refresh_token'): if not self.token_is_valid(): data.update(self.refresh_access_token()) else: data.update(self.handler()) # Getting session if self.oauth_version == 'oauth1': self.session = self.oauth.get_session((self.access_token, self.access_token_secret)) else: self.session = self.oauth.get_session(token=self.access_token) write_data(data, vars(self).get('from_file','secrets.json'))