Fix format errors
This commit is contained in:
parent
476e4f0517
commit
3ec00ce4fe
1 changed files with 10 additions and 6 deletions
|
@ -188,15 +188,18 @@ class Scene(ToggleEntity):
|
|||
state = self.scene_config.states.get(cur_state and cur_state.entity_id)
|
||||
|
||||
return (cur_state is not None and state.state == cur_state.state and
|
||||
all(self._compare_state_attribites(value, cur_state.attributes.get(key))
|
||||
all(self._compare_state_attribites(
|
||||
value, cur_state.attributes.get(key))
|
||||
for key, value in state.attributes.items()))
|
||||
|
||||
def _fuzzy_attribute_compare(self, a, b):
|
||||
""" Compare the attributes passed, use fuzzy logic if they are floats. """
|
||||
def _fuzzy_attribute_compare(self, attr_a, attr_b):
|
||||
"""
|
||||
Compare the attributes passed, use fuzzy logic if they are floats.
|
||||
"""
|
||||
|
||||
if not (isinstance(a, float) and isinstance(b, float)):
|
||||
if not (isinstance(attr_a, float) and isinstance(attr_b, float)):
|
||||
return False
|
||||
diff = abs(a - b) / (abs(a) + abs(b))
|
||||
diff = abs(attr_a - attr_b) / (abs(attr_a) + abs(attr_b))
|
||||
return diff <= self.scene_config.fuzzy_match
|
||||
|
||||
def _compare_state_attribites(self, attr1, attr2):
|
||||
|
@ -206,7 +209,8 @@ class Scene(ToggleEntity):
|
|||
if not self.scene_config.fuzzy_match:
|
||||
return False
|
||||
if isinstance(attr1, list):
|
||||
return all(self._fuzzy_attribute_compare(a, b) for a,b in zip(attr1,attr2))
|
||||
return all(self._fuzzy_attribute_compare(a, b)
|
||||
for a, b in zip(attr1, attr2))
|
||||
return self._fuzzy_attribute_compare(attr1, attr2)
|
||||
|
||||
def _reproduce_state(self, states):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue