From 7c06ac6daf5253a4aa30e17f35d901ced60ffeb3 Mon Sep 17 00:00:00 2001 From: Alejandro Villar Date: Fri, 12 Jan 2024 10:27:08 +0100 Subject: [PATCH] Add abstract and description to register.json --- ogc/bblocks/entrypoint.py | 11 ++++++++++- ogc/bblocks/postprocess.py | 9 ++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/ogc/bblocks/entrypoint.py b/ogc/bblocks/entrypoint.py index 59a5f30..d1df673 100644 --- a/ogc/bblocks/entrypoint.py +++ b/ogc/bblocks/entrypoint.py @@ -157,6 +157,7 @@ id_prefix = 'ogc.' annotated_path = Path(args.annotated_path) imported_registers = [] + register_additional_metadata = {} if bb_config_file and bb_config_file.is_file(): bb_config = load_yaml(filename=bb_config_file) id_prefix = bb_config.get('identifier-prefix', id_prefix) @@ -169,6 +170,13 @@ else: imported_registers = [ir if ir != DEFAULT_IMPORT_MARKER else MAIN_BBR for ir in imported_registers if ir] + register_abstract = bb_config.get('abstract') + if register_abstract: + register_additional_metadata['abstract'] = register_abstract + register_description = bb_config.get('description') + if register_description: + register_additional_metadata['description'] = register_description + base_url = args.base_url github_base_url = args.github_base_url git_repo_path = None @@ -207,7 +215,8 @@ bb_filter=args.filter, steps=steps, git_repo_path=git_repo_path, - viewer_path=(args.viewer_path or '.') if deploy_viewer else None) + viewer_path=(args.viewer_path or '.') if deploy_viewer else None, + additional_metadata=register_additional_metadata) # 2. Uplift register.json print(f"Running semantic uplift of {register_file}", file=sys.stderr) diff --git a/ogc/bblocks/postprocess.py b/ogc/bblocks/postprocess.py index a1a8936..22545c8 100644 --- a/ogc/bblocks/postprocess.py +++ b/ogc/bblocks/postprocess.py @@ -38,7 +38,8 @@ def postprocess(registered_items_path: str | Path = 'registereditems', steps: list[str] | None = None, bbr_config: dict | None = None, git_repo_path: Path | None = None, - viewer_path: str | Path | None = None) -> list[dict]: + viewer_path: str | Path | None = None, + additional_metadata: dict | None = None) -> list[dict]: cwd = Path().resolve() @@ -328,6 +329,12 @@ def do_postprocess(bblock: BuildingBlock, light: bool = False) -> bool: output_register_json['viewerURL'] = urljoin(base_url, viewer_path) if full_validation_report_url: output_register_json['validationReport'] = full_validation_report_url + + if additional_metadata: + for k, v in additional_metadata.items(): + if k not in output_register_json: + output_register_json[k] = v + if output_file == '-': print(json.dumps(output_register_json, indent=2, cls=CustomJSONEncoder)) else: