From f535ece2d15ff5b69ca537b7a3a9be5eb7bcc0f4 Mon Sep 17 00:00:00 2001 From: Makhuta Date: Sat, 16 Mar 2024 23:43:35 +0100 Subject: [PATCH] Change Chaned: - convert_objects now converts instead of for every sub dict were wrapped inside list it will go through the whole object and make key for every item in the list based on this key: PARENT_CHILD --- .../honeygain_scrapper/helpers.py | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/custom_components/honeygain_scrapper/helpers.py b/custom_components/honeygain_scrapper/helpers.py index a8a1523..3974184 100644 --- a/custom_components/honeygain_scrapper/helpers.py +++ b/custom_components/honeygain_scrapper/helpers.py @@ -15,14 +15,18 @@ def setup_client(hass: HomeAssistantType, username: CONF_USERNAME, password: CON return client -def convert_objects(object: Dict[str, Any]) -> Dict[str, Any]: - data = {} - for key in object: - item = object[key] - if type(item) == dict: - data[key] = [convert_objects(item)] - else: - data[key] = item +def convert_objects(data) -> Dict[str, Any]: + if type(data) == dict: + obj = {} + for (keyOuter, valueOuter) in data.items(): + converted = convert_objects(valueOuter) + if type(converted) == dict: + for (keyInner, valueInner) in converted.items(): + obj[f'{keyOuter}_{keyInner}'] = valueInner + else: + obj[keyOuter] = converted + return obj + return data def sanitize_text(input_text):