def get_client(self, context): # set the items per page (later) items_per_page = context.get_settings().get_items_per_page() access_manager = context.get_access_manager() access_token = access_manager.get_access_token() if access_manager.is_new_login_credential() or not access_token or access_manager.is_access_token_expired(): # reset access_token access_manager.update_access_token('') # we clear the cache, so none cached data of an old account will be displayed. context.get_function_cache().clear() # reset the client self._client = None pass if not self._client: if access_manager.has_login_credentials() or access_manager.has_refresh_token(): username, password = access_manager.get_login_credentials() access_token = access_manager.get_access_token() refresh_token = access_manager.get_refresh_token() # create a new access_token if not access_token and username and password: data = Client().login(username, password) access_manager.update_access_token(access_token=data.get('oauth_token'), refresh_token=data.get('oauth_token_secret')) pass access_token = access_manager.get_access_token() refresh_token = access_manager.get_refresh_token() if access_token and refresh_token: self._client = Client(oauth_token=access_token, oauth_token_secret=refresh_token) else: self._client = Client() pass self._is_logged_in = access_token != '' else: self._client = Client() pass pass return self._client