mirror of
https://github.com/KRTirtho/spotube.git
synced 2025-09-13 16:05:18 +00:00
chore: fix jiosaavn exact match
This commit is contained in:
parent
dcbb156833
commit
98aff8f3b9
@ -113,7 +113,6 @@ abstract class SourcedTrack extends Track {
|
||||
await JioSaavnSourcedTrack.fetchFromTrack(track: track, ref: ref),
|
||||
};
|
||||
} catch (e) {
|
||||
print("Got error: $e");
|
||||
return YoutubeSourcedTrack.fetchFromTrack(track: track, ref: ref);
|
||||
}
|
||||
}
|
||||
|
@ -111,7 +111,24 @@ class JioSaavnSourcedTrack extends SourcedTrack {
|
||||
final SongSearchResponse(:results) =
|
||||
await jiosaavnClient.search.songs(query, limit: 20);
|
||||
|
||||
return results.map(toSiblingType).toList();
|
||||
final trackArtistNames = track.artists?.map((ar) => ar.name).toList();
|
||||
return results
|
||||
.where(
|
||||
(s) {
|
||||
final sameName = s.name?.replaceAll("&", "&") == track.name;
|
||||
final artistNames =
|
||||
"${s.primaryArtists}${s.featuredArtists.isNotEmpty ? ", " : ""}${s.featuredArtists}"
|
||||
.replaceAll("&", "&");
|
||||
final sameArtists = artistNames.split(", ").any(
|
||||
(artist) =>
|
||||
trackArtistNames?.any((ar) => artist == ar) ?? false,
|
||||
);
|
||||
|
||||
return sameName && sameArtists;
|
||||
},
|
||||
)
|
||||
.map(toSiblingType)
|
||||
.toList();
|
||||
}
|
||||
|
||||
@override
|
||||
|
Loading…
Reference in New Issue
Block a user