Source code for tds2stac.analysers.properties_verifier
# SPDX-FileCopyrightText: 2023 Karlsruher Institut für Technologie
#
# SPDX-License-Identifier: CC0-1.0
import json
# from ..statics import constants
[docs]
class Verifier(object): # type: ignore
[docs]
def webservice_properties(
self,
webservice_properties: dict,
):
if webservice_properties is None:
# webservice_properties["webservice"] = "all"
webservice_properties["web_service_config_file"] = "default"
# elif "webservice" not in webservice_properties.keys():
# # TODO: defining a warning, because webservice attribute is mandatory and you didnt define it there we will pu it as all
# webservice_properties["webservice"] = "all"
# elif not any(webservice_properties["webservice"] in str(ws) for ws in constants.supported_webservices):
# # TODO: issue a warning that the webservice is not valid and we will put it as all
# webservice_properties["webservice"] = "all"
elif "web_service_config_file" not in webservice_properties.keys():
# TODO: adding another warning logger here
webservice_properties["web_service_config_file"] = "default"
elif "web_service_config_file" in webservice_properties.keys():
try:
json.load(
open(webservice_properties["web_service_config_file"])
)
except Exception:
# TODO: adding another warning logger here
print(
"The json file is not valid. Check the json file address and try again. For this case we set the `web_service_config_file` to `default`"
)
webservice_properties["web_service_config_file"] = "default"
[docs]
def extension_properties(
self,
extension_properties: dict,
):
List_of_extension_keys = [
"item_datacube",
"item_common_metadata",
"item_scientific",
"collection_scientific",
"custom_extension_name",
"custom_extension_script",
]
custom_extension_keys = [
"custom_extension_name",
"custom_extension_script",
]
if extension_properties is None or extension_properties == {}:
extension_properties["item_datacube"] = False
extension_properties["item_common_metadata"] = False
extension_properties["item_scientific"] = False
extension_properties["collection_scientific"] = False
extension_properties["custom_extension_name"] = None
extension_properties["custom_extension_script"] = None
elif extension_properties is not None or extension_properties != {}:
for i in List_of_extension_keys:
if i not in extension_properties.keys():
if i not in custom_extension_keys:
extension_properties[i] = False
else:
extension_properties[i] = None
[docs]
def asset_properties(
self,
asset_properties: dict,
):
asset_properties_list = [
"item_thumbnail",
"item_overview",
"item_getminmax_thumbnail",
"collection_thumbnail",
"collection_overview",
"collection_thumbnail_link",
"item_assets_list_allowed",
"item_assets_list_avoided",
"collection_assets_list_allowed",
"collection_assets_list_avoided",
"item_scientific",
"explore_data",
"check_get_metadata",
"jupyter_notebook",
]
none_false_asset_properties = [
"collection_thumbnail_link",
"collection_overview",
"collection_thumbnail",
"item_assets_list_allowed",
"item_assets_list_avoided",
"collection_assets_list_allowed",
"collection_assets_list_avoided",
]
if asset_properties is None:
asset_properties["item_thumbnail"] = False
asset_properties["item_overview"] = False
asset_properties["item_getminmax_thumbnail"] = False
asset_properties["collection_thumbnail"] = None
asset_properties["collection_overview"] = None
asset_properties["collection_thumbnail_link"] = None
asset_properties["item_scientific"] = False
asset_properties["item_assets_list_allowed"] = None
asset_properties["item_assets_list_avoided"] = None
asset_properties["collection_assets_list_allowed"] = None
asset_properties["collection_assets_list_avoided"] = None
asset_properties["explore_data"] = False
asset_properties["check_get_metadata"] = False
asset_properties["jupyter_notebook"] = False
elif asset_properties is not None:
for i in asset_properties_list:
if i not in asset_properties.keys():
if i not in none_false_asset_properties:
asset_properties[i] = False
else:
asset_properties[i] = None
[docs]
def logger_properties(
self,
logger_properties: dict,
) -> dict:
if logger_properties == {}:
logger_properties["logger_handler"] = "NullHandler"
return logger_properties