From 5e1c2bd4bd6f934c6b54b3280db034455eef99a7 Mon Sep 17 00:00:00 2001 From: Kevin Smith Date: Thu, 17 Apr 2025 10:55:59 -0500 Subject: [PATCH 1/4] Make base URL more dynamic --- singlestoredb/management/manager.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/singlestoredb/management/manager.py b/singlestoredb/management/manager.py index 011ddb08a..78ab935b0 100644 --- a/singlestoredb/management/manager.py +++ b/singlestoredb/management/manager.py @@ -62,6 +62,7 @@ def __init__( ) if not new_access_token: raise ManagementError(msg='No management token was configured.') + self._is_jwt = not access_token and new_access_token and is_jwt(new_access_token) self._sess = requests.Session() self._sess.headers.update({ @@ -70,10 +71,25 @@ def __init__( 'Accept': 'application/json', 'User-Agent': f'SingleStoreDB-Python/{client_version}', }) + + # The base URL must be able to be set dynamically using the default_base_url + # class variable or the environment variable SINGLESTOREDB_MANAGEMENT_BASE_URL. + # Check to see if the current default_base_url or the environment variable + # is different from the default_base_url and use that if so. + config_base_url = config.get_option('management.base_url') + env_base_url = os.environ.get('SINGLESTOREDB_MANAGEMENT_BASE_URL', '').strip() + if base_url: + pass + elif config_base_url and config_base_url != type(self).default_base_url: + base_url = config_base_url + elif env_base_url and env_base_url != type(self).default_base_url: + base_url = env_base_url + self._base_url = urljoin( base_url or type(self).default_base_url, version or type(self).default_version, ) + '/' + self._params: Dict[str, str] = {} if organization_id: self._params['organizationID'] = organization_id From 472e8bc012f0286569f4e15b00cc248b62d5b7d8 Mon Sep 17 00:00:00 2001 From: Kevin Smith Date: Thu, 17 Apr 2025 11:11:55 -0500 Subject: [PATCH 2/4] Make base URL more dynamic --- singlestoredb/management/manager.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/singlestoredb/management/manager.py b/singlestoredb/management/manager.py index 78ab935b0..777d8d957 100644 --- a/singlestoredb/management/manager.py +++ b/singlestoredb/management/manager.py @@ -77,16 +77,17 @@ def __init__( # Check to see if the current default_base_url or the environment variable # is different from the default_base_url and use that if so. config_base_url = config.get_option('management.base_url') + default_base_url = type(self).default_base_url env_base_url = os.environ.get('SINGLESTOREDB_MANAGEMENT_BASE_URL', '').strip() if base_url: pass - elif config_base_url and config_base_url != type(self).default_base_url: - base_url = config_base_url - elif env_base_url and env_base_url != type(self).default_base_url: + elif default_base_url and default_base_url != config_base_url: + base_url = default_base_url + elif env_base_url and env_base_url != config_base_url: base_url = env_base_url self._base_url = urljoin( - base_url or type(self).default_base_url, + base_url or default_base_url, version or type(self).default_version, ) + '/' From 3a01298184df6f59abea23cc935be36099afc0b6 Mon Sep 17 00:00:00 2001 From: Kevin Smith Date: Thu, 17 Apr 2025 11:19:26 -0500 Subject: [PATCH 3/4] Make base URL more dynamic --- singlestoredb/management/manager.py | 22 ++++++---------------- 1 file changed, 6 insertions(+), 16 deletions(-) diff --git a/singlestoredb/management/manager.py b/singlestoredb/management/manager.py index 777d8d957..547ddbcab 100644 --- a/singlestoredb/management/manager.py +++ b/singlestoredb/management/manager.py @@ -72,23 +72,13 @@ def __init__( 'User-Agent': f'SingleStoreDB-Python/{client_version}', }) - # The base URL must be able to be set dynamically using the default_base_url - # class variable or the environment variable SINGLESTOREDB_MANAGEMENT_BASE_URL. - # Check to see if the current default_base_url or the environment variable - # is different from the default_base_url and use that if so. - config_base_url = config.get_option('management.base_url') - default_base_url = type(self).default_base_url - env_base_url = os.environ.get('SINGLESTOREDB_MANAGEMENT_BASE_URL', '').strip() - if base_url: - pass - elif default_base_url and default_base_url != config_base_url: - base_url = default_base_url - elif env_base_url and env_base_url != config_base_url: - base_url = env_base_url - self._base_url = urljoin( - base_url or default_base_url, - version or type(self).default_version, + base_url + or config.get_option('management.base_url') + or type(self).default_base_url, + version + or config.get_option('management.version') + or type(self).default_version, ) + '/' self._params: Dict[str, str] = {} From 1fe023bc6bf4487d59d1d925d269b8b0e247c7bf Mon Sep 17 00:00:00 2001 From: Kevin Smith Date: Thu, 17 Apr 2025 12:45:37 -0500 Subject: [PATCH 4/4] Make base URL more dynamic --- singlestoredb/management/manager.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/singlestoredb/management/manager.py b/singlestoredb/management/manager.py index 547ddbcab..9474360a8 100644 --- a/singlestoredb/management/manager.py +++ b/singlestoredb/management/manager.py @@ -76,9 +76,7 @@ def __init__( base_url or config.get_option('management.base_url') or type(self).default_base_url, - version - or config.get_option('management.version') - or type(self).default_version, + version or type(self).default_version, ) + '/' self._params: Dict[str, str] = {}