Home Assistant Unofficial Reference 2024.12.1
util.py
Go to the documentation of this file.
1 """Utility functions for Bring."""
2 
3 from __future__ import annotations
4 
5 from bring_api import BringUserSettingsResponse
6 
7 from .coordinator import BringData
8 
9 
11  list_uuid: str,
12  user_settings: BringUserSettingsResponse,
13 ) -> str | None:
14  """Get the lists language setting."""
15  try:
16  list_settings = next(
17  filter(
18  lambda x: x["listUuid"] == list_uuid,
19  user_settings["userlistsettings"],
20  )
21  )
22 
23  return next(
24  filter(
25  lambda x: x["key"] == "listArticleLanguage",
26  list_settings["usersettings"],
27  )
28  )["value"]
29 
30  except (StopIteration, KeyError):
31  return None
32 
33 
34 def sum_attributes(bring_list: BringData, attribute: str) -> int:
35  """Count items with given attribute set."""
36  return sum(
37  item["attributes"][0]["content"][attribute]
38  for item in bring_list["purchase"]
39  if len(item.get("attributes", []))
40  )
str|None list_language(str list_uuid, BringUserSettingsResponse user_settings)
Definition: util.py:13
int sum_attributes(BringData bring_list, str attribute)
Definition: util.py:34