From b2f89d56b2e2b0cfa76ced8042baa5a58a515836 Mon Sep 17 00:00:00 2001 From: nicolasK Date: Thu, 22 Feb 2024 11:11:51 +0100 Subject: [PATCH] fix(token management) --- earthdaily/earthdatastore/__init__.py | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/earthdaily/earthdatastore/__init__.py b/earthdaily/earthdatastore/__init__.py index 856a61ff..505d9d62 100644 --- a/earthdaily/earthdatastore/__init__.py +++ b/earthdaily/earthdatastore/__init__.py @@ -224,12 +224,28 @@ def _get_client(config=None, presign_urls=True): A PySTAC client for interacting with the Earth Data Store STAC API. """ + + if isinstance(config, tuple): # token + token, eds_url = config + logging.log(level=logging.INFO, msg="Using token to reauth") + else: + if isinstance(config, dict): + config = config.get + elif isinstance(config,str) and config.endswith('.json'): + config = json.load(open(config, "rb")).get + token, eds_url = _get_token(config, presign_urls) + - if isinstance(config, dict): + if isinstance(config, tuple): # token + token, eds_url = config + logging.log(level=logging.INFO, msg="Using token to reauth") + elif isinstance(config, dict): config = config.get - if isinstance(config, str) and config.endswith('.json'): - config = json.load(open(config, "rb")).get - token, eds_url = _get_token(config, presign_urls) + elif isinstance(config, str) and config.endswith('.json'): + config = json.load(open(config, "rb")).get + token, eds_url = _get_token(config, presign_urls) + elif config is None: + token, eds_url = _get_token(config, presign_urls) headers = {"Authorization": f"bearer {token}"} if presign_urls: