Skip to content

Commit ff65b8b

Browse files
committedApr 22, 2025
ECC-2072: high-level 'get' function should return default value if key is not implemented
1 parent 40811bd commit ff65b8b

File tree

3 files changed

+10
-1
lines changed

3 files changed

+10
-1
lines changed
 

‎CHANGELOG.rst

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,12 @@
22
Changelog for eccodes-python
33
============================
44

5+
2.41.1 (2025-mm-dd)
6+
--------------------
7+
8+
- ECC-2072: high-level 'get' function should return default value if key is not implemented
9+
10+
511
2.41.0 (2025-04-10)
612
--------------------
713

‎eccodes/highlevel/message.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ def raise_keyerror(name):
1717
"""Make operations on a key raise a KeyError if not found"""
1818
try:
1919
yield
20-
except eccodes.KeyValueNotFoundError:
20+
except (eccodes.KeyValueNotFoundError, eccodes.FunctionNotImplementedError):
2121
raise KeyError(name)
2222

2323

‎tests/test_highlevel.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,9 @@ def test_message_get():
4444
assert message["gridType:int"] == 0
4545
with pytest.raises(KeyError):
4646
message["invalid"]
47+
with pytest.raises(KeyError):
48+
message["gridSpec"]
49+
assert message.get("gridSpec", dummy_default) is dummy_default
4750
# keys set as MISSING
4851
assert message.is_missing(known_missing)
4952
assert message.get(known_missing) is None

0 commit comments

Comments
 (0)