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),
|
await JioSaavnSourcedTrack.fetchFromTrack(track: track, ref: ref),
|
||||||
};
|
};
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
print("Got error: $e");
|
|
||||||
return YoutubeSourcedTrack.fetchFromTrack(track: track, ref: ref);
|
return YoutubeSourcedTrack.fetchFromTrack(track: track, ref: ref);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -111,7 +111,24 @@ class JioSaavnSourcedTrack extends SourcedTrack {
|
|||||||
final SongSearchResponse(:results) =
|
final SongSearchResponse(:results) =
|
||||||
await jiosaavnClient.search.songs(query, limit: 20);
|
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
|
@override
|
||||||
|
Loading…
Reference in New Issue
Block a user