Initial Home Assistant commit
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
""" Volleyball specific functionality"""
|
||||
|
||||
import logging
|
||||
|
||||
from .models import TeamTrackerValues
|
||||
from .utils import get_value
|
||||
|
||||
_LOGGER = logging.getLogger(__name__)
|
||||
|
||||
class SetVolleyballMixin:
|
||||
_sensor_name: str
|
||||
_values: TeamTrackerValues
|
||||
|
||||
def _set_volleyball_values(
|
||||
self,
|
||||
event, competition_index, team_index
|
||||
) -> bool:
|
||||
"""Set volleyball specific values"""
|
||||
|
||||
oppo_index = 1 - team_index
|
||||
competition = get_value(event, "competitions", competition_index)
|
||||
competitor = get_value(competition, "competitors", team_index)
|
||||
opponent = get_value(competition, "competitors", oppo_index)
|
||||
|
||||
if competition is None or competitor is None or opponent is None:
|
||||
_LOGGER.debug(
|
||||
"%s: async_set_volleyball_values() 0: %s", self._sensor_name, self._sensor_name
|
||||
)
|
||||
return False
|
||||
|
||||
self._values.clock = get_value(
|
||||
event, "status", "type", "detail"
|
||||
) # Set
|
||||
self._values.team_sets_won = self._values.team_score
|
||||
self._values.opponent_sets_won = self._values.opponent_score
|
||||
|
||||
if self._values.state == "IN":
|
||||
self._values.team_score = get_value(
|
||||
competitor, "linescores", -1, "value", default=0
|
||||
)
|
||||
self._values.opponent_score = get_value(
|
||||
opponent, "linescores", -1, "value", default=0
|
||||
)
|
||||
|
||||
last_play = ""
|
||||
linescores = get_value(competitor, "linescores", default=[])
|
||||
sets_count = len(linescores)
|
||||
|
||||
for x in range(0, sets_count):
|
||||
t_val = int(get_value(competitor, "linescores", x, "value", default=0))
|
||||
o_val = int(get_value(opponent, "linescores", x, "value", default=0))
|
||||
|
||||
last_play += f" Set {x + 1}: {self._values.team_abbr} {t_val} {self._values.opponent_abbr} {o_val}; "
|
||||
|
||||
self._values.last_play = last_play
|
||||
|
||||
return True
|
||||
Reference in New Issue
Block a user