From da8757edab8a78e4f8e87d3ceb560387ad8b5aaf Mon Sep 17 00:00:00 2001 From: Arsh Date: Fri, 28 Jun 2024 17:05:40 +0530 Subject: [PATCH] Added condition to read json data --- city_metrix/__init__.py | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/city_metrix/__init__.py b/city_metrix/__init__.py index bbda6db0..49cf44f2 100644 --- a/city_metrix/__init__.py +++ b/city_metrix/__init__.py @@ -1,26 +1,37 @@ -from .metrics import * import os -import ee import warnings +import ee + +from .metrics import * + # initialize ee -if "GOOGLE_APPLICATION_CREDENTIALS" in os.environ and "GOOGLE_APPLICATION_USER" in os.environ: +if ( + "GOOGLE_APPLICATION_CREDENTIALS" in os.environ + and "GOOGLE_APPLICATION_USER" in os.environ +): print("Authenticating to GEE with configured credentials file.") CREDENTIAL_FILE = os.environ["GOOGLE_APPLICATION_CREDENTIALS"] GEE_SERVICE_ACCOUNT = os.environ["GOOGLE_APPLICATION_USER"] - auth = ee.ServiceAccountCredentials(GEE_SERVICE_ACCOUNT, CREDENTIAL_FILE) - ee.Initialize(auth, opt_url='https://earthengine-highvolume.googleapis.com') + if CREDENTIAL_FILE.endswith(".json"): + auth = ee.ServiceAccountCredentials( + GEE_SERVICE_ACCOUNT, key_file=CREDENTIAL_FILE + ) + else: + auth = ee.ServiceAccountCredentials( + GEE_SERVICE_ACCOUNT, key_data=CREDENTIAL_FILE + ) + ee.Initialize(auth, opt_url="https://earthengine-highvolume.googleapis.com") else: print("Could not find GEE credentials file, so prompting authentication.") ee.Authenticate() - ee.Initialize(opt_url='https://earthengine-highvolume.googleapis.com') + ee.Initialize(opt_url="https://earthengine-highvolume.googleapis.com") # set for AWS requests os.environ["AWS_REQUEST_PAYER"] = "requester" # disable warning messages -warnings.filterwarnings('ignore', module='xee') -warnings.filterwarnings('ignore', module='dask') -warnings.filterwarnings('ignore', module='xarray') - +warnings.filterwarnings("ignore", module="xee") +warnings.filterwarnings("ignore", module="dask") +warnings.filterwarnings("ignore", module="xarray")