Ejemplo n.º 1
0
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
Ejemplo n.º 2
0
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