diff --git a/server/app.py b/server/app.py index 62aab39..a879550 100644 --- a/server/app.py +++ b/server/app.py @@ -674,6 +674,26 @@ def recommend_movie_like() -> ResponseReturnValue: ) +@flask_app.route("/recommendations/based_on/media/") +@flask_app.route("/media//recommendations") +def recommend_on_media(media_id: int) -> ResponseReturnValue: + MEDIA_COUNT = 10 + SCORE_ADAPT = 1 + media_base = MediaElement[media_id] + # to ensure all shown videos have similarity to selected one + base = PreferenceScore().adapt_score(media_base, -(MEDIA_COUNT * SCORE_ADAPT) - 1) + return render_template( + "recommendations_simple.htm", + mode_name=f'"{media_base.title}"', + media_list=generate_preference_list( + object_gen=lambda: get_all_considered("elem.release_date DESC"), + score_adapt=SCORE_ADAPT, + base=base, + limit=MEDIA_COUNT, + ), + ) + + @flask_app.route("/api/refresh/collections", methods=["POST"]) def refresh_collections() -> ResponseReturnValue: collection_ids = set[int]( diff --git a/server/templates/media_element.htm b/server/templates/media_element.htm index 1f4003a..80947b9 100644 --- a/server/templates/media_element.htm +++ b/server/templates/media_element.htm @@ -22,6 +22,7 @@