Added ability to filter wishlist on wishlist_priority

This commit is contained in:
Yarne Coppens 2024-08-11 12:05:29 +02:00
parent 58746833bd
commit 52dfd0395d
3 changed files with 8 additions and 5 deletions

View file

@ -45,8 +45,8 @@ def get_owned_collection():
@app.get("/wishlist", response_model=list[Union[boardgame_classes.WishlistBoardGame, boardgame_classes.WishlistBoardGameExpansion]]) @app.get("/wishlist", response_model=list[Union[boardgame_classes.WishlistBoardGame, boardgame_classes.WishlistBoardGameExpansion]])
def get_wishlist_collection(): def get_wishlist_collection(priority: int = 0):
return data_connection.get_user_wishlist_collection() return data_connection.get_user_wishlist_collection(priority)

View file

@ -257,7 +257,7 @@ def get_user_owned_collection() -> list[boardgame_classes.BoardGame]:
return owned_boardgames 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_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) 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 wishlisted_boardgames += wishlisted_boardgame_expansions
if wishlist_priority != 0:
wishlisted_boardgames = filter(lambda game: game.wishlist_priority == wishlist_priority, wishlisted_boardgames)
return wishlisted_boardgames return wishlisted_boardgames

View file

@ -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 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]: def get_plays() -> list[play_classes.Play]:
return bgg_connection.get_plays() return bgg_connection.get_plays()