Skip to content

Commit

Permalink
refactor: switch to TotalConsumptionList
Browse files Browse the repository at this point in the history
Swap out TotalConsumption for TotalConsumptionList, as the former is
considered an implementation detail while the latter is part of the
public API.

Refs: electricitymaps#5986, electricitymaps#6011
  • Loading branch information
kruschk committed Oct 24, 2023
1 parent 0015de9 commit 5b162d0
Showing 1 changed file with 10 additions and 6 deletions.
16 changes: 10 additions & 6 deletions parsers/CA_SK.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,11 @@
from requests import Session

from electricitymap.contrib.config import ZoneKey
from electricitymap.contrib.lib.models.event_lists import ProductionBreakdownList
from electricitymap.contrib.lib.models.events import ProductionMix, TotalConsumption
from electricitymap.contrib.lib.models.event_lists import (
ProductionBreakdownList,
TotalConsumptionList,
)
from electricitymap.contrib.lib.models.events import ProductionMix
from parsers.lib.exceptions import ParserException

TIMEZONE = ZoneInfo("America/Regina")
Expand Down Expand Up @@ -91,18 +94,19 @@ def fetch_consumption(
session: Session | None = None,
target_datetime: datetime | None = None,
logger: Logger = getLogger(__name__),
) -> dict[str, Any]:
) -> list[dict[str, Any]]:
payload = _request(session, target_datetime, CONSUMPTION_URL, zone_key)
# The source refreshes every 5 minutes, so we assume the current data is
# from 5 minutes before the most recent multiple of 5 minutes.
now = datetime.now(TIMEZONE)
assumed_datetime = now.replace(second=0, microsecond=0) - timedelta(
minutes=(5 + now.minute % 5)
)
return TotalConsumption.create(
total_consumption = TotalConsumptionList(logger)
total_consumption.append(
consumption=float(payload),
datetime=assumed_datetime,
logger=logger,
source="saskpower.com",
zoneKey=zone_key,
).to_dict()
)
return total_consumption.to_list()

0 comments on commit 5b162d0

Please sign in to comment.