@@ -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