From 598e6644eb1cf3ebfc796a96df8488629a1fdc35 Mon Sep 17 00:00:00 2001 From: Ken Dreyer Date: Jul 31 2017 21:03:31 +0000 Subject: list: refactor sorting composes to a separate method This sorting logic is useful enough to embed in other applications. Split up the "sorting" from the "printing", introducing a new sorted_ids() method that simply returns a list of sorted compose ID strings. --- diff --git a/compose_utils/list.py b/compose_utils/list.py index 3b47529..0422dfa 100644 --- a/compose_utils/list.py +++ b/compose_utils/list.py @@ -64,14 +64,22 @@ def load_composes(path, name=None, short=None, version=None, ctype=None, status= return composes -def print_sorted(composes): - """Print all composes sorted by their release name, release version, - compose date and respin. +def sorted_ids(composes): + """Sort composes by their release name, release version, compose date and + respin, and return the list of IDs. """ + result = [] for release in sorted(composes): for version in sorted(composes[release], key=version_sort): for compose in sorted(composes[release][version], key=compose_sort): - print(compose.info.compose.id) + result.append(compose.info.compose.id) + return result + + +def print_sorted(composes): + """Print all sorted compose IDs. """ + for compose_id in sorted_ids(composes): + print(compose_id) def check_single_line(composes):