Skip to content

Commit 6a1c70c

Browse files
committed
fix(codegen): include bbox in examples
Remove bbox from default skip keys so it renders in example output like any other field.
1 parent 69dc977 commit 6a1c70c

File tree

2 files changed

+12
-11
lines changed

2 files changed

+12
-11
lines changed

packages/overture-schema-codegen/src/overture/schema/codegen/example_loader.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ def validate_example(
139139
return denulled
140140

141141

142-
_DEFAULT_SKIP_KEYS: frozenset[str] = frozenset({"bbox"})
142+
_DEFAULT_SKIP_KEYS: frozenset[str] = frozenset()
143143

144144

145145
def _flatten_value(prefix: str, value: object) -> list[tuple[str, Any]]:

packages/overture-schema-codegen/tests/test_example_loader.py

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -50,21 +50,20 @@ def test_list_of_dicts(self) -> None:
5050
("sources[0].record_id", "w123"),
5151
]
5252

53-
def test_skip_bbox_at_top_level(self) -> None:
54-
"""Skip bbox field at top level."""
53+
def test_bbox_flattened_at_top_level(self) -> None:
54+
"""Bbox fields are flattened like any other nested dict."""
5555
raw = {
5656
"id": "123",
5757
"bbox": {"xmin": -176.6, "xmax": -176.64},
5858
"version": 1,
5959
}
6060
result = flatten_example(raw)
61-
assert result == [("id", "123"), ("version", 1)]
62-
63-
def test_nested_bbox_not_skipped(self) -> None:
64-
"""Nested bbox fields are not skipped."""
65-
raw = {"outer": {"bbox": {"xmin": 1.0}}}
66-
result = flatten_example(raw)
67-
assert result == [("outer.bbox.xmin", 1.0)]
61+
assert result == [
62+
("id", "123"),
63+
("bbox.xmin", -176.6),
64+
("bbox.xmax", -176.64),
65+
("version", 1),
66+
]
6867

6968
def test_plain_list_kept_as_value(self) -> None:
7069
"""Plain lists (non-dict items) are kept as values."""
@@ -390,7 +389,7 @@ class MockModel(BaseModel):
390389
names: dict[str, object]
391390
sources: list[dict[str, object]]
392391

393-
field_names = ["id", "names", "sources", "version"]
392+
field_names = ["id", "bbox", "names", "sources", "version"]
394393
result = load_examples(MockModel, "Building", field_names)
395394

396395
assert len(result) == 1
@@ -399,6 +398,8 @@ class MockModel(BaseModel):
399398

400399
assert record.rows == [
401400
("id", "123"),
401+
("bbox.xmin", 1.0),
402+
("bbox.xmax", 2.0),
402403
("names.primary", "Tower"),
403404
("sources[0].dataset", "OSM"),
404405
("sources[0].record_id", "w456"),

0 commit comments

Comments
 (0)