From c8767ead660e6c2d3eb4b914b9537e970806c982 Mon Sep 17 00:00:00 2001 From: Felix Stupp Date: Sun, 24 Sep 2023 21:59:14 +0200 Subject: [PATCH] app.show_collection(_episodes): extract prepare_collection_episodes --- server/app.py | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/server/app.py b/server/app.py index 8e76d01..e919fc8 100644 --- a/server/app.py +++ b/server/app.py @@ -443,12 +443,7 @@ def show_collection(collection_id: int) -> ResponseReturnValue: media_links = None media_titles = None if orm.count(collection.media_links) <= SMALL_COLLECTION_MAX_COUNT: - media_links = MediaCollectionLink.select( - lambda l: l.collection == collection - ).order_by(MediaCollectionLink.sort_key) - media_titles = remove_common_trails( - [link.element.title for link in media_links] - ) + media_links, media_titles = prepare_collection_episodes(collection) return render_template( "collection_element.htm", collection=collection, @@ -462,10 +457,7 @@ def show_collection_episodes(collection_id: int) -> ResponseReturnValue: collection: MediaCollection = MediaCollection.get(id=collection_id) if collection is None: return make_response(f"Not found", 404) - media_links = MediaCollectionLink.select( - lambda l: l.collection == collection - ).order_by(MediaCollectionLink.sort_key) - media_titles = remove_common_trails([link.element.title for link in media_links]) + media_links, media_titles = prepare_collection_episodes(collection) return render_template( "collection_episodes.htm", collection=collection, @@ -474,6 +466,16 @@ def show_collection_episodes(collection_id: int) -> ResponseReturnValue: ) +def prepare_collection_episodes( + collection: MediaCollection, +) -> tuple[Iterable[MediaCollectionLink], Iterable[str]]: + media_links = MediaCollectionLink.select( + lambda l: l.collection == collection + ).order_by(MediaCollectionLink.sort_key) + media_titles = remove_common_trails([link.element.title for link in media_links]) + return media_links, media_titles + + @flask_app.route("/media") def list_media() -> ResponseReturnValue: media_list: Iterable[MediaElement] = get_all_considered(