Skip to content

Commit 6792801

Browse files
committed
Use
1 parent 7b522f9 commit 6792801

1 file changed

Lines changed: 12 additions & 7 deletions

File tree

src/zarr/core/chunk_grids.py

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,10 @@ def resize(self, new_extent: int) -> FixedDimension:
117117
"""
118118
return FixedDimension(size=self.size, extent=new_extent)
119119

120+
@property
121+
def _size_repr(self) -> str:
122+
return str(self.size)
123+
120124

121125
@dataclass(frozen=True)
122126
class VaryingDimension:
@@ -231,6 +235,10 @@ def resize(self, new_extent: int) -> VaryingDimension:
231235
else:
232236
return VaryingDimension(self.edges, extent=new_extent)
233237

238+
@property
239+
def _size_repr(self) -> str:
240+
return repr(tuple(self.edges))
241+
234242

235243
@runtime_checkable
236244
class DimensionGrid(Protocol):
@@ -251,6 +259,8 @@ def indices_to_chunks(self, indices: npt.NDArray[np.intp]) -> npt.NDArray[np.int
251259
def unique_edge_lengths(self) -> Iterable[int]: ...
252260
def with_extent(self, new_extent: int) -> DimensionGrid: ...
253261
def resize(self, new_extent: int) -> DimensionGrid: ...
262+
@property
263+
def _size_repr(self) -> str: ...
254264

255265

256266
@dataclass(frozen=True)
@@ -323,14 +333,9 @@ def __init__(self, *, dimensions: tuple[DimensionGrid, ...]) -> None:
323333
)
324334

325335
def __repr__(self) -> str:
326-
sizes: list[str] = []
327-
for d in self._dimensions:
328-
if isinstance(d, FixedDimension):
329-
sizes.append(str(d.size))
330-
elif isinstance(d, VaryingDimension):
331-
sizes.append(repr(tuple(d.edges)))
336+
sizes = ", ".join(d._size_repr for d in self._dimensions)
332337
shape = tuple(d.extent for d in self._dimensions)
333-
return f"ChunkGrid(chunk_sizes=({', '.join(sizes)}), array_shape={shape})"
338+
return f"ChunkGrid(chunk_sizes=({sizes}), array_shape={shape})"
334339

335340
@classmethod
336341
def from_metadata(cls, metadata: ArrayMetadata) -> ChunkGrid:

0 commit comments

Comments
 (0)