From 52dfd0395dcef6e474c654bb6dc576ad6af2cd92 Mon Sep 17 00:00:00 2001 From: Yarne Coppens Date: Sun, 11 Aug 2024 12:05:29 +0200 Subject: [PATCH] Added ability to filter wishlist on wishlist_priority --- src/main.py | 4 ++-- src/modules/bgg_connection.py | 5 ++++- src/modules/data_connection.py | 4 ++-- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/main.py b/src/main.py index 91c914e..5fe5700 100644 --- a/src/main.py +++ b/src/main.py @@ -45,8 +45,8 @@ def get_owned_collection(): @app.get("/wishlist", response_model=list[Union[boardgame_classes.WishlistBoardGame, boardgame_classes.WishlistBoardGameExpansion]]) -def get_wishlist_collection(): - return data_connection.get_user_wishlist_collection() +def get_wishlist_collection(priority: int = 0): + return data_connection.get_user_wishlist_collection(priority) diff --git a/src/modules/bgg_connection.py b/src/modules/bgg_connection.py index e95ea52..af5b745 100644 --- a/src/modules/bgg_connection.py +++ b/src/modules/bgg_connection.py @@ -257,7 +257,7 @@ def get_user_owned_collection() -> list[boardgame_classes.BoardGame]: return owned_boardgames -def get_user_wishlist_collection() -> list[boardgame_classes.BoardGame]: +def get_user_wishlist_collection(wishlist_priority: int = 0) -> list[boardgame_classes.BoardGame]: url_no_expanions = 'https://boardgamegeek.com/xmlapi2/collection?username={}&wishlist=1&stats=1&excludesubtype=boardgameexpansion&showprivate=1&version=1'.format(auth_manager.username) url_only_expansions = 'https://boardgamegeek.com/xmlapi2/collection?username={}&wishlist=1&stats=1&subtype=boardgameexpansion&showprivate=1&version=1'.format(auth_manager.username) @@ -266,6 +266,9 @@ def get_user_wishlist_collection() -> list[boardgame_classes.BoardGame]: wishlisted_boardgames += wishlisted_boardgame_expansions + if wishlist_priority != 0: + wishlisted_boardgames = filter(lambda game: game.wishlist_priority == wishlist_priority, wishlisted_boardgames) + return wishlisted_boardgames diff --git a/src/modules/data_connection.py b/src/modules/data_connection.py index 8649922..2580bea 100644 --- a/src/modules/data_connection.py +++ b/src/modules/data_connection.py @@ -37,11 +37,11 @@ def get_user_owned_collection() -> list[Union[boardgame_classes.OwnedBoardGame, -def get_user_wishlist_collection() -> Union[list[boardgame_classes.WishlistBoardGame], list[boardgame_classes.WishlistBoardGameExpansion]]: +def get_user_wishlist_collection(wishlist_priority: int = 0) -> Union[list[boardgame_classes.WishlistBoardGame], list[boardgame_classes.WishlistBoardGameExpansion]]: owned_boardgames_from_db = db_connection.get_all_wishlisted_boardgames - return bgg_connection.get_user_wishlist_collection() + return bgg_connection.get_user_wishlist_collection(wishlist_priority) def get_plays() -> list[play_classes.Play]: return bgg_connection.get_plays()