Skip to content

Commit 938d3eb

Browse files
committed
Fixup CubeMetadata.__repr__
ref Open-EO/openeo-python-driver#428
1 parent 01e06b8 commit 938d3eb

File tree

2 files changed

+15
-5
lines changed

2 files changed

+15
-5
lines changed

openeo/metadata.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -283,8 +283,10 @@ def __eq__(self, o: Any) -> bool:
283283
return isinstance(o, type(self)) and self._dimensions == o._dimensions
284284

285285
def __repr__(self) -> str:
286-
bands = self.band_names if self.has_band_dimension() else "no bands dimension"
287-
return f"{self.__class__.__name__}({bands} - {self.dimension_names()})"
286+
if self.has_band_dimension():
287+
return f"{self.__class__.__name__}(dimension_names={self.dimension_names()}, band_names={self.band_names})"
288+
else:
289+
return f"{self.__class__.__name__}(dimension_names={self.dimension_names()})"
288290

289291
def __str__(self) -> str:
290292
bands = self.band_names if self.has_band_dimension() else "no bands dimension"

tests/test_metadata.py

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1178,10 +1178,18 @@ def test_metadata_resample_cube_spatial_preserve_non_spatial():
11781178
assert not result31.has_temporal_dimension()
11791179

11801180

1181-
def test_cube_metadata_repr():
1182-
assert repr(CUBE_METADATA_XYTB) == dirty_equals.IsStr(
1183-
regex="CubeMetadata.*dimensions=.*SpatialDimension.*x.*SpatialDimension.*y.*TemporalDimension.*t.*BandDimension.*bands.*B2.*B3.*"
1181+
def test_cube_metadata_repr_with_bands():
1182+
assert repr(CUBE_METADATA_XYTB) == "CubeMetadata(dimension_names=['x', 'y', 't', 'bands'], band_names=['B2', 'B3'])"
1183+
1184+
1185+
def test_cube_metadata_repr_no_bands():
1186+
metadata = CubeMetadata(
1187+
dimensions=[
1188+
SpatialDimension(name="x", extent=[2, 7], crs=4326, step=0.1),
1189+
TemporalDimension(name="t", extent=["2024-09-01", "2024-12-01"]),
1190+
]
11841191
)
1192+
assert repr(metadata) == "CubeMetadata(dimension_names=['x', 't'])"
11851193

11861194

11871195
class TestStacMetadataParser:

0 commit comments

Comments
 (0)