Skip to content

Commit

Permalink
Fix init of DwdDmoRequest
Browse files Browse the repository at this point in the history
  • Loading branch information
gutzbenj committed May 29, 2024
1 parent 6cb849d commit 80a1c34
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 6 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ Development
- Fix `dropna` argument for DWD Mosmix and DMO
- Adjust DWD Mosmix and DMO kml reader to parse all parameters
- Fix `to_target(duckdb)` for stations
- Fix init of `DwdDmoRequest`

0.84.0 (15.05.2024)
*******************
Expand Down
6 changes: 6 additions & 0 deletions tests/provider/dwd/dmo/test_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import polars as pl
import pytest

from wetterdienst.exceptions import NoParametersFoundError
from wetterdienst.provider.dwd.dmo import DwdDmoRequest
from wetterdienst.provider.dwd.dmo.api import add_date_from_filename

Expand Down Expand Up @@ -122,3 +123,8 @@ def test_add_date_from_filename_too_few_dates():
)
with pytest.raises(ValueError):
add_date_from_filename(df, dt.datetime(2021, 1, 1, 1, 1, 1))


def test_dwd_dmo_invalid_request():
with pytest.raises(NoParametersFoundError):
DwdDmoRequest(parameter="icon", dmo_type="hourly")
12 changes: 6 additions & 6 deletions wetterdienst/provider/dwd/dmo/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
from wetterdienst.core.timeseries.request import TimeseriesRequest
from wetterdienst.core.timeseries.result import StationsResult, ValuesResult
from wetterdienst.core.timeseries.values import TimeseriesValues
from wetterdienst.exceptions import InvalidEnumerationError
from wetterdienst.exceptions import InvalidEnumerationError, NoParametersFoundError
from wetterdienst.metadata.columns import Columns
from wetterdienst.metadata.datarange import DataRange
from wetterdienst.metadata.period import PeriodType
Expand Down Expand Up @@ -1408,9 +1408,9 @@ def __init__(
:param end_date: end date
"""
try:
self.dmo_type = parse_enumeration_from_template(dmo_type, DwdDmoType) or DwdDmoLeadTime.SHORT
except InvalidEnumerationError:
self.dmo_type = DwdDmoLeadTime.SHORT
self.dmo_type = parse_enumeration_from_template(dmo_type, DwdDmoType)
except InvalidEnumerationError as e:
raise NoParametersFoundError("no valid parameters could be parsed from given argument") from e
try:
self.station_group = (
parse_enumeration_from_template(station_group, DwdDmoStationGroup) or DwdDmoStationGroup.SINGLE_STATIONS
Expand All @@ -1422,8 +1422,8 @@ def __init__(
else:
try:
self.lead_time = parse_enumeration_from_template(lead_time, DwdDmoLeadTime) or DwdDmoLeadTime.SHORT
except InvalidEnumerationError:
self.lead_time = DwdDmoLeadTime.SHORT
except InvalidEnumerationError as e:
raise NoParametersFoundError("no valid lead time could be parsed from given argument") from e

super().__init__(
parameter=parameter,
Expand Down

0 comments on commit 80a1c34

Please sign in to comment.