in taskcat/_amiupdater.py [0:0]
def reduce_api_results(raw_results):
unsorted_results = []
missing_results = []
final_results = []
result_state = {}
for query_result in raw_results:
if query_result["api_results"]:
cn_api_results_data = [
APIResultsData(
query_result["cn"],
x["ImageId"],
_image_timestamp(x["CreationDate"]),
query_result["region"],
)
for x in query_result["api_results"]
]
unsorted_results = cn_api_results_data + unsorted_results
else:
missing_results.append(query_result)
if missing_results:
LOG.warning(
"No results were available for the following CODENAME / Region combination"
)
for missing_result in missing_results:
LOG.warning(f"- {missing_result['cn']} in {missing_result['region']}")
sorted_results = sorted(unsorted_results, reverse=True)
for _r in sorted_results:
found_key = f"{_r.region}-{_r.codename}"
already_found = result_state.get(found_key, False)
if already_found:
continue
result_state[found_key] = True
final_results.append(_r)
return final_results