def api() -> api_methods.APIMethods: settings = api_settings.ApiSettings("../looker.ini") transport = requests_transport.RequestsTransport.configure(settings) auth = auth_session.AuthSession(settings, transport, serialize.deserialize31, "3.1") return api_methods.APIMethods( auth, serialize.deserialize31, serialize.serialize, transport, "3.1" )
def api() -> api_methods.APIMethods: settings = api_settings.ApiSettings( filename="../looker.ini", env_prefix=constants.environment_prefix) transport = requests_transport.RequestsTransport.configure(settings) auth = auth_session.AuthSession(settings, transport, serialize.deserialize31, "3.1") return api_methods.APIMethods(auth, serialize.deserialize31, serialize.serialize31, transport, "3.1")
def setup(config_file: str = "looker.ini", section: Optional[str] = None) -> methods.LookerSDK: """Default dependency configuration """ settings = api_settings.ApiSettings.configure(config_file, section) settings.headers = {"Content-Type": "application/json"} transport = requests_transport.RequestsTransport.configure(settings) return methods.LookerSDK( auth_session.AuthSession(settings, transport, serialize.deserialize), serialize.deserialize, serialize.serialize, transport, )
def init40(config_file: str = "looker.ini", section: Optional[str] = None) -> methods40.Looker40SDK: """Default dependency configuration""" settings = _settings(config_file, section) settings.is_configured() transport = requests_transport.RequestsTransport.configure(settings) return methods40.Looker40SDK( auth_session.AuthSession(settings, transport, serialize.deserialize40, "4.0"), serialize.deserialize40, serialize.serialize, transport, "4.0", )
def get_looker_sdk(self): """Returns Looker SDK client for Looker API 4.0.""" conn = self.get_connection(self.looker_conn_id) settings = LookerApiSettings(conn) transport = requests_transport.RequestsTransport.configure(settings) return methods40.Looker40SDK( auth_session.AuthSession(settings, transport, serialize.deserialize40, "4.0"), serialize.deserialize40, serialize.serialize, transport, "4.0", )
def test_it_fails_with_missing_credentials(config_file, monkeypatch, test_section, test_env_client_id, test_env_client_secret): monkeypatch.setenv("LOOKERSDK_CLIENT_ID", test_env_client_id) monkeypatch.setenv("LOOKERSDK_CLIENT_SECRET", test_env_client_secret) settings = api_settings.ApiSettings.configure(config_file, test_section) auth_session = auth.AuthSession(settings, MockTransport.configure(settings), serialize.deserialize) with pytest.raises(error.SDKError) as exc_info: auth_session.authenticate() assert "auth credentials not found" in str(exc_info.value)
def init40( config_file: str = "looker.ini", section: Optional[str] = None ) -> methods40.Looker40SDK: """Default dependency configuration """ settings = api_settings.ApiSettings(config_file, section) if not settings.is_configured(): raise InitError("Missing required configuration values.") transport = requests_transport.RequestsTransport.configure(settings) return methods40.Looker40SDK( auth_session.AuthSession(settings, transport, serialize.deserialize40, "4.0"), serialize.deserialize40, serialize.serialize, transport, "4.0", )
def configure_sdk(): try: settings = api_settings.ApiSettings() user_agent_tag = f"Themis v1.0" settings.headers = { "Content-Type": "application/json", "User-Agent": user_agent_tag, } settings.timeout = 480 transport = requests_transport.RequestsTransport.configure(settings) except Exception as e: logger.error('Issues generating SDK configuration: {}'.format(e)) return methods.Looker40SDK( auth_session.AuthSession(settings, transport, serialize.deserialize40, "4.0"), serialize.deserialize40, serialize.serialize, transport, "4.0")
def init31( config_file: str = "looker.ini", section: Optional[str] = None, config_settings: Optional[api_settings.ApiSettings] = None, ) -> methods31.Looker31SDK: """Default dependency configuration""" settings = (_settings(config_file, section) if config_settings is None else config_settings) settings.is_configured() transport = requests_transport.RequestsTransport.configure(settings) return methods31.Looker31SDK( auth_session.AuthSession(settings, transport, serialize.deserialize31, "3.1"), serialize.deserialize31, serialize.serialize31, transport, "3.1", )
def init40(config_file: str = "looker.ini", section: Optional[str] = None) -> methods40.Looker40SDK: """Default dependency configuration """ settings = api_settings.ApiSettings.configure(config_file, section) if settings.api_version is not None: warnings.warn( message=DeprecationWarning(API_SETTINGS_API_VERSION_DEPRECATED)) settings.api_version = "4.0" settings.headers = {"Content-Type": "application/json"} if not settings.is_configured(): raise InitError( f"Missing required configuration values like base_url and api_version." ) transport = requests_transport.RequestsTransport.configure(settings) return methods40.Looker40SDK( auth_session.AuthSession(settings, transport, serialize.deserialize40), serialize.deserialize40, serialize.serialize, transport, )
def configure_sdk( self, config_file: str, section: str, timeout: Optional[int], ) -> methods.LookerSDK: """Instantiates and returns a LookerSDK object and overrides default timeout if specified by user. """ settings = api_settings.ApiSettings.configure(config_file, section) user_agent_tag = f"Henry v{pkg.__version__}: cmd={self.cmd}, sid={uuid.uuid1()}" settings.headers = { "Content-Type": "application/json", "User-Agent": user_agent_tag, } if timeout: settings.timeout = timeout settings.api_version = "3.1" transport = requests_transport.RequestsTransport.configure(settings) return methods.LookerSDK( auth_session.AuthSession(settings, transport, serialize.deserialize), serialize.deserialize, serialize.serialize, transport, )
def auth_session(config_file): settings = api_settings.ApiSettings(config_file) return auth.AuthSession(settings, MockTransport.configure(settings), serialize.deserialize31, "3.1")
def auth_session(config_file): settings = api_settings.ApiSettings(filename=config_file, env_prefix="LOOKERSDK") return auth.AuthSession(settings, MockTransport.configure(settings), serialize.deserialize31, "3.1")