def __flatten_raw_entity(entity_info: EntityInfo) -> EntityInfo: result = {} for field_name, field in entity_info.items(): if __should_include_raw_field(field): if isinstance(field, dict): for sub_field_name, sub_field in field.items(): result[f'{field_name}.{sub_field_name}'] = sub_field else: result[field_name] = field return result
async def db_set_daily_info(daily_info: EntityInfo, utc_now: datetime) -> bool: settings = { __get_daily_info_setting_name(key): (value, utc_now) for key, value in daily_info.items() } settings_success = await db.set_settings(settings) if settings_success: await __update_db_daily_info_cache() sales_info = { key: value(daily_info[key]) for key, value in SALES_DAILY_INFO_FIELDS.items() } sales_success = await db.update_sales_info(sales_info) if sales_success: await update_db_sales_info_cache() return settings_success and sales_success