mirror of
https://github.com/KRTirtho/spotube.git
synced 2025-09-13 07:55:18 +00:00
chore: adjust score for both official flag & track name in title
This commit is contained in:
parent
3642666e23
commit
a05ddaeda1
@ -10,7 +10,7 @@ import 'package:spotube/utils/service_utils.dart';
|
|||||||
import 'package:collection/collection.dart';
|
import 'package:collection/collection.dart';
|
||||||
|
|
||||||
final officialMusicRegex = RegExp(
|
final officialMusicRegex = RegExp(
|
||||||
r"official\s(video|audio|music\svideo)",
|
r"official\s(video|audio|music\svideo|lyric\svideo|visualizer)",
|
||||||
caseSensitive: false,
|
caseSensitive: false,
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -101,17 +101,25 @@ class SpotubeTrack extends Track {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sibling.title
|
final titleContainsTrackName = sibling.title
|
||||||
.toLowerCase()
|
.toLowerCase()
|
||||||
.contains(track.name!.toLowerCase())) {
|
.contains(track.name!.toLowerCase());
|
||||||
|
|
||||||
|
final hasOfficialFlag =
|
||||||
|
officialMusicRegex.hasMatch(sibling.title.toLowerCase());
|
||||||
|
|
||||||
|
if (titleContainsTrackName) {
|
||||||
score += 3;
|
score += 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (officialMusicRegex
|
if (hasOfficialFlag) {
|
||||||
.hasMatch(sibling.title.toLowerCase())) {
|
|
||||||
score += 1;
|
score += 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (hasOfficialFlag && titleContainsTrackName) {
|
||||||
|
score += 2;
|
||||||
|
}
|
||||||
|
|
||||||
return (sibling: sibling, score: score);
|
return (sibling: sibling, score: score);
|
||||||
})
|
})
|
||||||
.sorted((a, b) => b.score.compareTo(a.score))
|
.sorted((a, b) => b.score.compareTo(a.score))
|
||||||
|
Loading…
Reference in New Issue
Block a user