Skip to content

Commit db252aa

Browse files
committed
fix(metoffice): Dataspec parameter to env var
1 parent ad28360 commit db252aa

File tree

1 file changed

+5
-3
lines changed
  • src/nwp_consumer/internal/repositories/raw_repositories

1 file changed

+5
-3
lines changed

src/nwp_consumer/internal/repositories/raw_repositories/mo_datahub.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,7 @@ class MetOfficeDatahubRawRepository(ports.RawRepository):
133133

134134
request_url: str
135135
order_id: str
136+
dataspec: str
136137
_headers: dict[str, str]
137138

138139
def __init__(self, order_id: str, api_key: str) -> None:
@@ -143,6 +144,7 @@ def __init__(self, order_id: str, api_key: str) -> None:
143144
}
144145
self.order_id = order_id
145146
self.request_url = f"{self.base_url}/{self.order_id}/latest"
147+
self.dataspec = os.getenv("METOFFICE_DATASPEC", self.repository().optional_env["METOFFICE_DATASPEC"])
146148

147149
@staticmethod
148150
@override
@@ -154,7 +156,7 @@ def repository() -> entities.RawRepositoryMetadata:
154156
delay_minutes=120,
155157
max_connections=10,
156158
required_env=["METOFFICE_API_KEY", "METOFFICE_ORDER_ID"],
157-
optional_env={},
159+
optional_env={"METOFFICE_DATASPEC": "1.1.0"},
158160
postprocess_options=entities.PostProcessOptions(),
159161
available_models={
160162
"default": entities.Models.MO_UM_GLOBAL_10KM.with_region("india"),
@@ -200,7 +202,7 @@ def fetch_init_data(
200202
it: dt.datetime,
201203
) -> Iterator[Callable[..., ResultE[list[xr.DataArray]]]]:
202204
req: urllib.request.Request = urllib.request.Request( # noqa: S310
203-
url=self.request_url + f"?detail=MINIMAL&runfilter={it:%Y%m%d%H}",
205+
url=self.request_url + f"?detail=MINIMAL&runfilter={it:%Y%m%d%H}&dataSpec={self.dataspec}",
204206
headers=self._headers,
205207
method="GET",
206208
)
@@ -237,7 +239,7 @@ def fetch_init_data(
237239
if "orderDetails" in data and "files" in data["orderDetails"]:
238240
for filedata in data["orderDetails"]["files"]:
239241
if "fileId" in filedata and "+" not in filedata["fileId"]:
240-
urls.append(f"{self.request_url}/{filedata["fileId"]}/data?dataSpec=1.1.0")
242+
urls.append(f"{self.request_url}/{filedata["fileId"]}/data?dataSpec={self.dataspec}")
241243

242244
log.debug(
243245
f"Found {len(urls)} file(s) for init time '{it.strftime('%Y-%m-%d %H:%M')}' "

0 commit comments

Comments
 (0)