remove dups from get_tracks_by_albumhash

This commit is contained in:
geoffrey45
2023-03-27 04:35:49 +03:00
parent 805df18ac3
commit c465116f3d
3 changed files with 283 additions and 298 deletions
+25 -25
View File
@@ -279,28 +279,28 @@ def get_all_artist_tracks(artisthash: str):
return {"tracks": tracks}
@api.route("/artist/<artisthash>/similar", methods=["GET"])
def get_similar_artists(artisthash: str):
"""
Returns similar artists.
"""
limit = request.args.get("limit")
if limit is None:
limit = 6
limit = int(limit)
artist = ArtistStore.get_artist_by_hash(artisthash)
if artist is None:
return {"error": "Artist not found"}, 404
similar_hashes = fetch_similar_artists(artist.name)
similar = ArtistStore.get_artists_by_hashes(similar_hashes)
if len(similar) > limit:
similar = random.sample(similar, limit)
return {"similar": similar[:limit]}
#
# @api.route("/artist/<artisthash>/similar", methods=["GET"])
# def get_similar_artists(artisthash: str):
# """
# Returns similar artists.
# """
# limit = request.args.get("limit")
#
# if limit is None:
# limit = 6
#
# limit = int(limit)
#
# artist = ArtistStore.get_artist_by_hash(artisthash)
#
# if artist is None:
# return {"error": "Artist not found"}, 404
#
# similar_hashes = fetch_similar_artists(artist.name)
# similar = ArtistStore.get_artists_by_hashes(similar_hashes)
#
# if len(similar) > limit:
# similar = random.sample(similar, limit)
#
# return {"similar": similar[:limit]}
+2 -1
View File
@@ -123,7 +123,8 @@ class TrackStore:
"""
Returns all tracks matching the given album hash.
"""
return [t for t in cls.tracks if t.albumhash == album_hash]
tracks = [t for t in cls.tracks if t.albumhash == album_hash]
return remove_duplicates(tracks)
@classmethod
def get_tracks_by_artist(cls, artisthash: str) -> list[Track]: