Skip to content

Commit

Permalink
Update get_metadata method
Browse files Browse the repository at this point in the history
  • Loading branch information
b-yogesh committed Nov 15, 2024
1 parent d680129 commit a91bd5c
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 13 deletions.
21 changes: 14 additions & 7 deletions xcube_clms/clms.py
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,7 @@
BYTES_TYPE,
FILENAME,
NAME,
FORMAT,
)
from .utils import (
is_valid_data_type,
Expand Down Expand Up @@ -424,21 +425,27 @@ def get_data_id_format(self, data_id: str) -> str:
format_list = self._filter_dataset_attrs([DATASET_FORMAT], [item])
return format_list[0].get(DATASET_FORMAT)[0]

def get_spatial_coverage_and_resolution(
self, data_id: str
def get_metadata(
self, data_id: str, metadata_fields: list[str]
) -> dict[str : str | None]:
self._fetch_all_datasets()
download_info = [
data[DOWNLOADABLE_FILES][ITEMS]
for data in self._datasets_info
if data[CLMS_DATA_ID] == data_id
]
spatial_cov_res_list = []
metadata_list = []
for info in download_info[0]:
spatial_cov_res_list.append(
{SPATIAL_COVERAGE: info[SPATIAL_COVERAGE], RESOLUTION: info[RESOLUTION]}
)
return spatial_cov_res_list
metadata = {}
if "area" in metadata_fields and SPATIAL_COVERAGE in info:
metadata[SPATIAL_COVERAGE] = info[SPATIAL_COVERAGE]
if "resolution" in metadata_fields and RESOLUTION in info:
metadata[RESOLUTION] = info[RESOLUTION]
if "format" in metadata_fields and FORMAT in info:
metadata[FORMAT] = info[FORMAT]

metadata_list.append(metadata)
return metadata_list

def _current_requests(self, dataset_id: str) -> tuple:
self.refresh_token()
Expand Down
1 change: 1 addition & 0 deletions xcube_clms/constants.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@
ITEMS = "items"
SPATIAL_COVERAGE = "area"
RESOLUTION = "resolution"
FORMAT = "format"
FILE_ID = "@id"
BOUNDING_BOX = "geographicBoundingBox"
CRS = "coordinateReferenceSystemList"
Expand Down
11 changes: 5 additions & 6 deletions xcube_clms/store.py
Original file line number Diff line number Diff line change
Expand Up @@ -134,14 +134,13 @@ def get_search_params_schema(
) -> JsonObjectSchema:
pass

def get_spatial_coverage_and_resolution(
self, data_id: str
def get_metadata(
self, data_id: str, metadata_fields: list[str]
) -> dict[str : str | None]:
return self.clms.get_spatial_coverage_and_resolution(data_id)
return self.clms.get_metadata(data_id, metadata_fields)

def preload_data(self, data_request: list[dict]):
for data in data_request:
...
def preload_data(self, data_requests: list[dict]):
return self.clms.preload_data(data_requests)

@classmethod
def get_preload_data_params_schema(cls) -> JsonArraySchema:
Expand Down

0 comments on commit a91bd5c

Please sign in to comment.