1 """Utility functions for Bring."""
3 from __future__
import annotations
5 from bring_api
import BringUserSettingsResponse
7 from .coordinator
import BringData
12 user_settings: BringUserSettingsResponse,
14 """Get the lists language setting."""
18 lambda x: x[
"listUuid"] == list_uuid,
19 user_settings[
"userlistsettings"],
25 lambda x: x[
"key"] ==
"listArticleLanguage",
26 list_settings[
"usersettings"],
30 except (StopIteration, KeyError):
35 """Count items with given attribute set."""
37 item[
"attributes"][0][
"content"][attribute]
38 for item
in bring_list[
"purchase"]
39 if len(item.get(
"attributes", []))
str|None list_language(str list_uuid, BringUserSettingsResponse user_settings)
int sum_attributes(BringData bring_list, str attribute)