From 4670ac4d888d4d864fa0f32d42027fb2c3f8dd05 Mon Sep 17 00:00:00 2001 From: Sergej Singer <74149595+sergej-singer@users.noreply.github.com> Date: Sun, 20 Apr 2025 23:34:52 +0200 Subject: [PATCH] Add JSON support --- mapbuilder/builder.py | 6 ++++++ mapbuilder/utils/json.py | 6 ++++++ 2 files changed, 12 insertions(+) create mode 100644 mapbuilder/utils/json.py diff --git a/mapbuilder/builder.py b/mapbuilder/builder.py index 4c0739e..c45be1b 100644 --- a/mapbuilder/builder.py +++ b/mapbuilder/builder.py @@ -13,6 +13,7 @@ from .handlers.plaintext import PlainTextHandler from .utils.geojson import load_geojson from .utils.geopackage import load_geopackage +from .utils.json import load_json SUFFIXES = [".txt", ".jinja"] @@ -82,6 +83,11 @@ def __init__(self, source_dir, target_dir, cache_dir, config): src = self.__load(data_source, config["data"][data_source]["source"]) if src is not None: self.data[data_source] = load_geojson(src) + elif data_source_type == "json": + logging.debug(f"Loading JSON source {data_source}...") + self.data[data_source] = load_json( + source_dir / config["data"][data_source]["source"] + ) else: logging.error(f"Unknown data source type for data source {data_source}") diff --git a/mapbuilder/utils/json.py b/mapbuilder/utils/json.py new file mode 100644 index 0000000..1fbde6a --- /dev/null +++ b/mapbuilder/utils/json.py @@ -0,0 +1,6 @@ +from json import load + + +def load_json(filename): + with open(filename, "r") as f: + return load(f)