def get_remembered_slot_values()

in functions/source/kendra_search_intent_handler_lambda/helpers.py [0:0]


def get_remembered_slot_values(slot_values, session_attributes):
    """
    Get remembered slot values.
    :param slot_values: Slot values
    :param session_attributes: Session attributes
    :return: Remembered slot values
    """
    logger.debug(
        '<<help_desk_bot>> get_remembered_slot_values() - session_attributes: %s',
        session_attributes)

    remembered_slots = session_attributes.get('rememberedSlots')
    if remembered_slots is not None:
        remembered_slot_values = json.loads(remembered_slots)
    else:
        remembered_slot_values = {key: None for key in help_desk_config.SLOT_CONFIG}

    if slot_values is None:
        slot_values = {key: None for key in help_desk_config.SLOT_CONFIG}

    for key, config in help_desk_config.SLOT_CONFIG.items():
        if config.get('remember', False):
            logger.debug('<<help_desk_bot>> get_remembered_slot_values() - slot_values[%s] = %s',
                         key,
                         slot_values.get(key))
            logger.debug(
                '<<help_desk_bot>> get_remembered_slot_values() - remembered_slot_values[%s] = %s',
                key,
                remembered_slot_values.get(key))
            if slot_values.get(key) is None:
                slot_values[key] = remembered_slot_values.get(key)

    return slot_values