Skip to content

Commit ff41785

Browse files
committed
Do not refresh if offline
1 parent 9c5317e commit ff41785

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed

simvue/eco/emissions_monitor.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -142,8 +142,10 @@ def __init__(self, *args, **kwargs) -> None:
142142
)
143143
self._measure_time = datetime.datetime.now()
144144
self._logger = _logger
145-
self._client: APIClient = APIClient(
146-
co2_api_token=self.co2_signal_api_token, timeout=10
145+
self._client: APIClient | None = (
146+
None
147+
if self.co2_intensity
148+
else APIClient(co2_api_token=self.co2_signal_api_token, timeout=10)
147149
)
148150
self._processes: dict[str, ProcessData] = {}
149151

@@ -156,7 +158,7 @@ def check_refresh(self) -> bool:
156158
whether a refresh of the CO2 intensity was requested
157159
from the CO2 Signal API.
158160
"""
159-
if not self.co2_intensity and (
161+
if (
160162
not self._local_data.setdefault(self._client.country_code, {})
161163
or self.outdated
162164
):
@@ -193,12 +195,11 @@ def estimate_co2_emissions(
193195
if not (_process := self._processes.get(process_id)):
194196
self._processes[process_id] = (_process := ProcessData())
195197

196-
self.check_refresh()
197-
198198
if self.co2_intensity:
199199
_current_co2_intensity = self.co2_intensity
200200
_co2_units = "kgCO2/kWh"
201201
else:
202+
self.check_refresh()
202203
self._current_co2_data = CO2SignalResponse(
203204
**self._local_data[self._client.country_code]
204205
)
@@ -255,7 +256,7 @@ def process_data(self) -> dict[str, ProcessData]:
255256

256257
@property
257258
def current_carbon_intensity(self) -> float:
258-
return self._client.get().data.carbon_intensity
259+
return self.co2_intensity or self._client.get().data.carbon_intensity
259260

260261
@property
261262
def total_power_usage(self) -> float:

0 commit comments

Comments
 (0)