def need_verifier_code(self):
        pathToTokenDir = os.path.join(self.auth_dir + "/tokens/" +
                                      self.token_file_dir)

        pathToToken = os.path.join(
            self.auth_dir + "/tokens/" + self.token_file_dir, "token.json")

        # check if directory for user token directory exists
        if not os.path.isdir(pathToTokenDir) or not os.path.isfile(
                pathToToken):
            return True

        #if token dir does exist and some other validity check
        data = get_data(pathToToken)
        if "access_token" not in data and "refresh_token" not in data:
            return True

        return False
Esempio n. 2
0
    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'))
Esempio n. 3
0
def test_get_data(data, data_format):
    data_stored = get_data(data_format)
    assert data == data_stored
Esempio n. 4
0
def test_get_data(data, data_format):
    data_stored = get_data(data_format)
    assert data == data_stored
Esempio n. 5
0
    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'))