Skip to content

Commit 13fa8eb

Browse files
committed
_get_groups(): simplify logic
1 parent f67dfa0 commit 13fa8eb

File tree

1 file changed

+10
-9
lines changed

1 file changed

+10
-9
lines changed

plugwise/common.py

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -204,21 +204,22 @@ def _get_groups(self) -> None:
204204

205205
for group in self._domain_objects.findall("./group"):
206206
group_id = group.get("id")
207-
group_name = group.find("name").text
208207
if group_id is None:
209208
continue # pragma: no cover
210209

211-
if members := self._collect_members(group):
212-
self._new_groups.append(group_id)
210+
if not (members := self._collect_members(group)):
211+
continue
213212

213+
group_name = group.find("name").text
214+
group_type = group.find("type").text
215+
self._new_groups.append(group_id)
214216
if (
215217
group_id in self._existing_groups
216218
and self.gw_entities[group_id]["name"] == group_name
217219
):
218220
continue
219221

220-
group_type = group.find("type").text
221-
if group_type in GROUP_TYPES and members:
222+
if group_type in GROUP_TYPES:
222223
self.gw_entities[group_id] = {
223224
"dev_class": group_type,
224225
"model": "Group",
@@ -228,10 +229,10 @@ def _get_groups(self) -> None:
228229
}
229230
self._count += 5
230231

231-
removed = list(set(self._existing_groups) - set(self._new_groups))
232-
if self._existing_groups and removed:
233-
for group_id in removed:
234-
self.gw_entities.pop(group_id)
232+
if self._existing_groups:
233+
removed_groups = set(self._existing_groups) - set(self._new_groups)
234+
for group_id in removed_groups:
235+
self.gw_entities.pop(group_id, None)
235236

236237
self._existing_groups = self._new_groups
237238
self._new_groups = []

0 commit comments

Comments
 (0)