Skip to content

Commit 6a865d4

Browse files
Switch class names in battery_pool_status and battery_status
BatteryStatus will be used outside, by users. Status is just an internal class. Signed-off-by: ela-kotulska-frequenz <[email protected]>
1 parent 50f89d4 commit 6a865d4

File tree

3 files changed

+59
-59
lines changed

3 files changed

+59
-59
lines changed

src/frequenz/sdk/actor/power_distributing/_battery_pool_status.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,13 @@
1313
from frequenz.channels.util import MergeNamed
1414

1515
from ..._internal.asyncio import cancel_and_await
16-
from ._battery_status import BatteryStatus, BatteryStatusTracker, SetPowerResult
16+
from ._battery_status import BatteryStatusTracker, SetPowerResult, Status
1717

1818
_logger = logging.getLogger(__name__)
1919

2020

2121
@dataclass
22-
class Status:
22+
class BatteryStatus:
2323
"""Status of the batteries."""
2424

2525
working: Set[int]
@@ -56,7 +56,7 @@ class _BatteryStatusChannelHelper:
5656

5757
def __post_init__(self):
5858
self.name: str = f"battery-{self.battery_id}-status"
59-
channel = Broadcast[BatteryStatus](self.name)
59+
channel = Broadcast[Status](self.name)
6060

6161
receiver_name = f"{self.name}-receiver"
6262
self.receiver = channel.new_receiver(name=receiver_name, maxsize=1)
@@ -91,7 +91,7 @@ def __init__(
9191
"""
9292
# At first no battery is working, we will get notification when they start
9393
# working.
94-
self._current_status = Status(working=set(), uncertain=set())
94+
self._current_status = BatteryStatus(working=set(), uncertain=set())
9595

9696
# Channel for sending results of requests to the batteries
9797
request_result_channel = Broadcast[SetPowerResult]("battery_request_status")
@@ -101,7 +101,7 @@ def __init__(
101101

102102
# Receivers for individual battery statuses are needed to create a `MergeNamed`
103103
# object.
104-
receivers: Dict[str, Receiver[BatteryStatus]] = {}
104+
receivers: Dict[str, Receiver[Status]] = {}
105105

106106
for battery_id in battery_ids:
107107
channel = _BatteryStatusChannelHelper(battery_id)
@@ -117,7 +117,7 @@ def __init__(
117117
),
118118
)
119119

120-
self._battery_status_channel = MergeNamed[BatteryStatus](
120+
self._battery_status_channel = MergeNamed[Status](
121121
**receivers,
122122
)
123123

@@ -145,21 +145,21 @@ async def _run(self) -> None:
145145
"BatteryPoolStatus failed with error: %s. Restarting.", err
146146
)
147147

148-
async def _update_status(self, status_channel: MergeNamed[BatteryStatus]) -> None:
148+
async def _update_status(self, status_channel: MergeNamed[Status]) -> None:
149149
"""Wait for any battery to change status and update status.
150150
151151
Args:
152152
status_channel: Receivers packed in Select object.
153153
"""
154154
async for channel_name, status in status_channel:
155155
battery_id = self._batteries[channel_name].battery_id
156-
if status == BatteryStatus.WORKING:
156+
if status == Status.WORKING:
157157
self._current_status.working.add(battery_id)
158158
self._current_status.uncertain.discard(battery_id)
159-
elif status == BatteryStatus.UNCERTAIN:
159+
elif status == Status.UNCERTAIN:
160160
self._current_status.working.discard(battery_id)
161161
self._current_status.uncertain.add(battery_id)
162-
elif status == BatteryStatus.NOT_WORKING:
162+
elif status == Status.NOT_WORKING:
163163
self._current_status.working.discard(battery_id)
164164
self._current_status.uncertain.discard(battery_id)
165165

src/frequenz/sdk/actor/power_distributing/_battery_status.py

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
_logger = logging.getLogger(__name__)
3131

3232

33-
class BatteryStatus(Enum):
33+
class Status(Enum):
3434
"""Tells if battery is can be used."""
3535

3636
NOT_WORKING = 0
@@ -155,7 +155,7 @@ def __init__( # pylint: disable=too-many-arguments
155155
battery_id: int,
156156
max_data_age_sec: float,
157157
max_blocking_duration_sec: float,
158-
status_sender: Sender[BatteryStatus],
158+
status_sender: Sender[Status],
159159
request_result_receiver: Receiver[SetPowerResult],
160160
) -> None:
161161
"""Create class instance.
@@ -178,7 +178,7 @@ def __init__( # pylint: disable=too-many-arguments
178178
self._max_data_age = max_data_age_sec
179179
# First battery is considered as not working.
180180
# Change status after first messages are received.
181-
self._last_status = BatteryStatus.NOT_WORKING
181+
self._last_status = Status.NOT_WORKING
182182
self._blocking_status = _BlockingStatus(1.0, max_blocking_duration_sec)
183183

184184
inverter_id = self._find_adjacent_inverter_id(battery_id)
@@ -213,7 +213,7 @@ async def stop(self) -> None:
213213

214214
async def _run(
215215
self,
216-
status_sender: Sender[BatteryStatus],
216+
status_sender: Sender[Status],
217217
request_result_receiver: Receiver[SetPowerResult],
218218
) -> None:
219219
"""Process data from the components and request_result_receiver.
@@ -247,7 +247,7 @@ async def _run(
247247
except Exception as err: # pylint: disable=broad-except
248248
_logger.exception("BatteryStatusTracker crashed with error: %s", err)
249249

250-
def _update_status(self, select: Select) -> Optional[BatteryStatus]:
250+
def _update_status(self, select: Select) -> Optional[Status]:
251251
if msg := select.battery:
252252
self._battery.last_msg_correct = (
253253
self._is_message_reliable(msg.inner)
@@ -309,7 +309,7 @@ def _update_status(self, select: Select) -> Optional[BatteryStatus]:
309309

310310
return None
311311

312-
def _get_current_status(self) -> BatteryStatus:
312+
def _get_current_status(self) -> Status:
313313
"""Get current battery status.
314314
315315
Returns:
@@ -320,15 +320,15 @@ def _get_current_status(self) -> BatteryStatus:
320320
)
321321

322322
if not is_msg_correct:
323-
return BatteryStatus.NOT_WORKING
324-
if self._last_status == BatteryStatus.NOT_WORKING:
323+
return Status.NOT_WORKING
324+
if self._last_status == Status.NOT_WORKING:
325325
# If message just become correct, then try to use it
326326
self._blocking_status.unblock()
327-
return BatteryStatus.WORKING
327+
return Status.WORKING
328328
if self._blocking_status.is_blocked():
329-
return BatteryStatus.UNCERTAIN
329+
return Status.UNCERTAIN
330330

331-
return BatteryStatus.WORKING
331+
return Status.WORKING
332332

333333
def _no_critical_error(self, msg: Union[BatteryData, InverterData]) -> bool:
334334
"""Check if battery or inverter message has any critical error.
@@ -343,7 +343,7 @@ def _no_critical_error(self, msg: Union[BatteryData, InverterData]) -> bool:
343343
# pylint: disable=protected-access
344344
critical_err = next((err for err in msg._errors if err.level == critical), None)
345345
if critical_err is not None:
346-
if self._last_status == BatteryStatus.WORKING:
346+
if self._last_status == Status.WORKING:
347347
_logger.warning(
348348
"Component %d has critical error: %s",
349349
msg.component_id,
@@ -365,7 +365,7 @@ def _is_inverter_state_correct(self, msg: InverterData) -> bool:
365365
# pylint: disable=protected-access
366366
state = msg._component_state
367367
if state not in BatteryStatusTracker._inverter_valid_state:
368-
if self._last_status == BatteryStatus.WORKING:
368+
if self._last_status == Status.WORKING:
369369
_logger.warning(
370370
"Inverter %d has invalid state: %s",
371371
msg.component_id,
@@ -387,7 +387,7 @@ def _is_battery_state_correct(self, msg: BatteryData) -> bool:
387387
# pylint: disable=protected-access
388388
state = msg._component_state
389389
if state not in BatteryStatusTracker._battery_valid_state:
390-
if self._last_status == BatteryStatus.WORKING:
390+
if self._last_status == Status.WORKING:
391391
_logger.warning(
392392
"Battery %d has invalid state: %s",
393393
self.battery_id,
@@ -399,7 +399,7 @@ def _is_battery_state_correct(self, msg: BatteryData) -> bool:
399399
# pylint: disable=protected-access
400400
relay_state = msg._relay_state
401401
if relay_state not in BatteryStatusTracker._battery_valid_relay:
402-
if self._last_status == BatteryStatus.WORKING:
402+
if self._last_status == Status.WORKING:
403403
_logger.warning(
404404
"Battery %d has invalid relay state: %s",
405405
self.battery_id,
@@ -432,7 +432,7 @@ def _is_message_reliable(self, message: ComponentData) -> bool:
432432
"""
433433
is_outdated = self._is_timestamp_outdated(message.timestamp)
434434

435-
if is_outdated and self._last_status == BatteryStatus.WORKING:
435+
if is_outdated and self._last_status == Status.WORKING:
436436
_logger.warning(
437437
"Component %d stopped sending data. Last timestamp: %s.",
438438
message.component_id,

0 commit comments

Comments
 (0)