Skip to content

Commit 5ab9154

Browse files
committed
remove duplicate metadata parsing
1 parent 213863b commit 5ab9154

File tree

1 file changed

+5
-13
lines changed

1 file changed

+5
-13
lines changed

src/zarr/core/array.py

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,8 @@ def parse_array_metadata(data: Any) -> ArrayMetadata:
137137
if isinstance(data, ArrayMetadata):
138138
return data
139139
elif isinstance(data, dict):
140-
if data["zarr_format"] == 3:
140+
zarr_format = data.get("zarr_format")
141+
if zarr_format == 3:
141142
meta_out = ArrayV3Metadata.from_dict(data)
142143
if len(meta_out.storage_transformers) > 0:
143144
msg = (
@@ -146,8 +147,10 @@ def parse_array_metadata(data: Any) -> ArrayMetadata:
146147
)
147148
raise ValueError(msg)
148149
return meta_out
149-
elif data["zarr_format"] == 2:
150+
elif zarr_format == 2:
150151
return ArrayV2Metadata.from_dict(data)
152+
else:
153+
raise ValueError(f"Invalid zarr_format: {zarr_format}. Expected 2 or 3")
151154
raise TypeError
152155

153156

@@ -265,17 +268,6 @@ def __init__(
265268
store_path: StorePath,
266269
config: ArrayConfigLike | None = None,
267270
) -> None:
268-
if isinstance(metadata, dict):
269-
zarr_format = metadata["zarr_format"]
270-
# TODO: remove this when we extensively type the dict representation of metadata
271-
_metadata = cast(dict[str, JSON], metadata)
272-
if zarr_format == 2:
273-
metadata = ArrayV2Metadata.from_dict(_metadata)
274-
elif zarr_format == 3:
275-
metadata = ArrayV3Metadata.from_dict(_metadata)
276-
else:
277-
raise ValueError(f"Invalid zarr_format: {zarr_format}. Expected 2 or 3")
278-
279271
metadata_parsed = parse_array_metadata(metadata)
280272
config_parsed = parse_array_config(config)
281273

0 commit comments

Comments
 (0)