def check_file(filename, file_type=None, health_is_called=False): """ Calls three functions to perform the following checks: is the file a valid YAML file, needs the file to be upgrade, does the file contain errors. :param filename: path to a YAML file :param file_type: value to check against the 'file_type' key in the YAML file :param health_is_called: boolean that specifies if detailed errors in the file will be printed by the function 'check_yaml_file_health' :return: the file_type if present, else None is returned """ yaml_content = _check_file_type(filename, file_type) # if the file is a valid YAML, continue. Else, return None if yaml_content: upgrade_yaml_file(filename, file_type, yaml_content['version'], load_attack_data(DATA_TYPE_STIX_ALL_TECH)) check_yaml_file_health(filename, file_type, health_is_called) return yaml_content['file_type'] return yaml_content # value is None
def check_file(filename, file_type=None, health_is_called=False): """ Calls four functions to perform the following checks: is the file a valid YAML file, needs the file to be upgraded, or does the file contain errors. :param filename: path to a YAML file :param file_type: value to check against the 'file_type' key in the YAML file :param health_is_called: boolean that specifies if detailed errors in the file will be printed by the function 'check_yaml_file_health' :return: the file_type if present, else None is returned """ yaml_content = _check_file_type(filename, file_type) # if the file is a valid YAML, continue. Else, return None if yaml_content: upgrade_yaml_file(filename, file_type, yaml_content['version']) check_yaml_file_health(filename, file_type, health_is_called) if file_type == FILE_TYPE_DATA_SOURCE_ADMINISTRATION: if not _check_for_old_data_sources(filename): return None return yaml_content['file_type'] return yaml_content # value is None
def check_file(filename, file_type=None, health_is_called=False): """ Calls four functions to perform the following checks: is the file a valid YAML file, needs the file to be upgraded, does the file contain errors or does the file need a sub-techniques upgrade. :param filename: path to a YAML file :param file_type: value to check against the 'file_type' key in the YAML file :param health_is_called: boolean that specifies if detailed errors in the file will be printed by the function 'check_yaml_file_health' :return: the file_type if present, else None is returned """ yaml_content = _check_file_type(filename, file_type) # if the file is a valid YAML, continue. Else, return None if yaml_content: upgrade_yaml_file(filename, file_type, yaml_content['version'], load_attack_data(DATA_TYPE_STIX_ALL_TECH)) check_yaml_file_health(filename, file_type, health_is_called) if file_type == FILE_TYPE_TECHNIQUE_ADMINISTRATION: if not check_yaml_updated_to_sub_techniques(filename): return None return yaml_content['file_type'] return yaml_content # value is None