示例#1
0
def convert_satisfies(old_satisfies):
    """ Convert satisfies objects from v1 to v2 """
    new_satisfies = []
    for standard_key in old_satisfies:
        for control_key in old_satisfies[standard_key]:
            new_control_dict = {
                'standard_key': standard_key,
                'control_key': control_key
            }
            old_control_dict = old_satisfies[standard_key][control_key]
            add_if_exists(
                new_data=new_control_dict,
                old_data=old_control_dict,
                field='narrative'
            )
            add_if_exists(
                new_data=new_control_dict,
                old_data=old_control_dict,
                field='implementation_status'
            )
            print(old_control_dict)
            new_control_dict['covered_by'] = transform_references(
                old_control_dict.get('references', {})
            )
            new_satisfies.append(new_control_dict)
    return new_satisfies
示例#2
0
def unflatten_satisfies(old_satisfies):
    """ Convert satisfies from v2 to v1 """
    new_satisfies = {}
    for element in old_satisfies:
        new_element = {}
        # Handle exsiting data
        add_if_exists(
            new_data=new_element,
            old_data=element,
            field='narrative'
        )
        add_if_exists(
            new_data=new_element,
            old_data=element,
            field='implementation_status'
        )
        # Handle covered_by
        references = transform_covered_by(element.get('covered_by', {}))
        control_key = element['control_key']
        standard_key = element['standard_key']
        if references:
            new_element['references'] = references
        # Unflatten
        if standard_key not in new_satisfies:
            new_satisfies[standard_key] = {}
        if control_key not in new_satisfies[standard_key]:
            new_satisfies[standard_key][control_key] = new_element
    return new_satisfies
示例#3
0
def convert_satisfies(old_satisfies):
    """ Convert satisfies objects from v1 to v2 """
    new_satisfies = []
    for standard_key in old_satisfies:
        for control_key in old_satisfies[standard_key]:
            new_control_dict = {
                'standard_key': standard_key,
                'control_key': control_key
            }
            old_control_dict = old_satisfies[standard_key][control_key]
            add_if_exists(new_data=new_control_dict,
                          old_data=old_control_dict,
                          field='narrative')
            add_if_exists(new_data=new_control_dict,
                          old_data=old_control_dict,
                          field='implementation_status')
            print(old_control_dict)
            new_control_dict['covered_by'] = transform_references(
                old_control_dict.get('references', {}))
            new_satisfies.append(new_control_dict)
    return new_satisfies
示例#4
0
def unflatten_satisfies(old_satisfies):
    """ Convert satisfies from v2 to v1 """
    new_satisfies = {}
    for element in old_satisfies:
        new_element = {}
        # Handle exsiting data
        add_if_exists(new_data=new_element,
                      old_data=element,
                      field='narrative')
        add_if_exists(new_data=new_element,
                      old_data=element,
                      field='implementation_status')
        # Handle covered_by
        references = transform_covered_by(element.get('covered_by', {}))
        control_key = element['control_key']
        standard_key = element['standard_key']
        if references:
            new_element['references'] = references
        # Unflatten
        if standard_key not in new_satisfies:
            new_satisfies[standard_key] = {}
        if control_key not in new_satisfies[standard_key]:
            new_satisfies[standard_key][control_key] = new_element
    return new_satisfies