def get_viable_profiles(selected_profiles, datastream, benchmark, script=None): """Read datastream, and return set intersection of profiles of given benchmark and those provided in `selected_profiles` parameter. """ valid_profiles = [] all_profiles_elements = xml_operations.get_all_profiles_in_benchmark( datastream, benchmark, logging) all_profiles = [el.attrib["id"] for el in all_profiles_elements] all_profiles.append(OSCAP_PROFILE_ALL_ID) for ds_profile in all_profiles: if 'ALL' in selected_profiles: valid_profiles += [ds_profile] continue for sel_profile in selected_profiles: if ds_profile.endswith(sel_profile): valid_profiles += [ds_profile] if not valid_profiles: if script: logging.warning( 'Script {0} - profile {1} not found in datastream'.format( script, ", ".join(selected_profiles))) else: logging.warning('Profile {0} not found in datastream'.format( ", ".join(selected_profiles))) return valid_profiles
def get_viable_profiles(selected_profiles, datastream, benchmark): """Read datastream, and return set intersection of profiles of given benchmark and those provided in `selected_profiles` parameter. """ valid_profiles = [] all_profiles = xml_operations.get_all_profiles_in_benchmark( datastream, benchmark, logging) for ds_profile_element in all_profiles: ds_profile = ds_profile_element.attrib['id'] if 'ALL' in selected_profiles: valid_profiles += [ds_profile] continue for sel_profile in selected_profiles: if ds_profile.endswith(sel_profile): valid_profiles += [ds_profile] if not valid_profiles: logging.error('No profile matched with "{0}"'.format( ", ".join(selected_profiles))) return valid_profiles
def get_viable_profiles(selected_profiles, datastream, benchmark): """Read datastream, and return set intersection of profiles of given benchmark and those provided in `selected_profiles` parameter. """ valid_profiles = [] all_profiles = xml_operations.get_all_profiles_in_benchmark( datastream, benchmark, logging) for ds_profile_element in all_profiles: ds_profile = ds_profile_element.attrib['id'] if 'ALL' in selected_profiles: valid_profiles += [ds_profile] continue for sel_profile in selected_profiles: if ds_profile.endswith(sel_profile): valid_profiles += [ds_profile] if not valid_profiles: logging.error('No profile ends with "{0}"' .format(", ".join(selected_profiles))) return valid_profiles
def get_viable_profiles(selected_profiles, datastream, benchmark): """Read datastream, and return set intersection of profiles of given benchmark and those provided in `selected_profiles` parameter. """ valid_profiles = [] all_profiles = xml_operations.get_all_profiles_in_benchmark( datastream, benchmark, logging) for ds_profile_element in all_profiles: ds_profile = ds_profile_element.attrib['id'] if 'ALL' in selected_profiles: valid_profiles += [ds_profile] continue for sel_profile in selected_profiles: # this means substring - we expect selected profile might be # just a shorter version of proper datastream profile id if sel_profile in ds_profile: valid_profiles += [ds_profile] if not valid_profiles: logging.error('No profile matched with "{0}"' .format(", ".join(selected_profiles))) return valid_profiles
def get_viable_profiles(selected_profiles, datastream, benchmark): """Read datastream, and return set intersection of profiles of given benchmark and those provided in `selected_profiles` parameter. """ valid_profiles = [] all_profiles = xml_operations.get_all_profiles_in_benchmark( datastream, benchmark, logging) for ds_profile_element in all_profiles: ds_profile = ds_profile_element.attrib['id'] if 'ALL' in selected_profiles: valid_profiles += [ds_profile] continue for sel_profile in selected_profiles: # this means substring - we expect selected profile might be # just a shorter version of proper datastream profile id if sel_profile in ds_profile: valid_profiles += [ds_profile] if not valid_profiles: logging.error('No profile matched with "{0}"'.format( ", ".join(selected_profiles))) return valid_profiles
def get_viable_profiles(selected_profiles, datastream, benchmark): """Read datastream, and return set intersection of profiles of given benchmark and those provided in `selected_profiles` parameter. """ valid_profiles = [] all_profiles_elements = xml_operations.get_all_profiles_in_benchmark( datastream, benchmark, logging) all_profiles = [el.attrib["id"] for el in all_profiles_elements] all_profiles.append(ALL_PROFILE_ID) for ds_profile in all_profiles: if 'ALL' in selected_profiles: valid_profiles += [ds_profile] continue for sel_profile in selected_profiles: if ds_profile.endswith(sel_profile): valid_profiles += [ds_profile] if not valid_profiles: logging.warning('No profile ends with "{0}"'.format( ", ".join(selected_profiles))) return valid_profiles