(target_frame_elements, manual_values, form)
Attempt to match the target session variables with ones that the user
    has entered manually
Attempt to match the target session variables with ones that the user
    has entered manually
Attempt to match the target session variables with ones that the user has entered manually
def _get_datums_matched_to_manual_values(target_frame_elements, manual_values, form):
    """
    Attempt to match the target session variables with ones that the user
    has entered manually
    """
    manual_values_by_name = {datum.name: datum.xpath for datum in manual_values}
    for child in target_frame_elements:
        if not isinstance(child, WorkflowSessionMeta) or not child.requires_selection:
            yield child
        else:
            manual_value = manual_values_by_name.get(child.id)
            if manual_value:
                yield StackDatum(id=child.id, value=manual_value)
            else:
                raise SuiteValidationError("Unable to link form '{}', missing variable '{}'".format(
                    form.default_name(), child.id
                ))
def _get_datums_matched_to_manual_values ( target_frame_elements , manual_values , form ) : manual_values_by_name = { datum . name : datum . xpath for datum in manual_values } for child in target_frame_elements : if not isinstance ( child , WorkflowSessionMeta ) or not child . requires_selection : yield child else : manual_value = manual_values_by_name . get ( child . id ) if manual_value : yield StackDatum ( id = child . id , value = manual_value ) else : raise SuiteValidationError ( "Unable to link form '{}', missing variable '{}'" . format ( form . default_name ( ) , child . id ) )