From a05ddaeda1765c73f1d553347588c4f1f439ff32 Mon Sep 17 00:00:00 2001 From: Kingkor Roy Tirtho Date: Fri, 18 Aug 2023 14:43:46 +0600 Subject: [PATCH] chore: adjust score for both official flag & track name in title --- lib/models/spotube_track.dart | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/lib/models/spotube_track.dart b/lib/models/spotube_track.dart index 9a3a887b..a3de6e38 100644 --- a/lib/models/spotube_track.dart +++ b/lib/models/spotube_track.dart @@ -10,7 +10,7 @@ import 'package:spotube/utils/service_utils.dart'; import 'package:collection/collection.dart'; final officialMusicRegex = RegExp( - r"official\s(video|audio|music\svideo)", + r"official\s(video|audio|music\svideo|lyric\svideo|visualizer)", caseSensitive: false, ); @@ -101,17 +101,25 @@ class SpotubeTrack extends Track { } } - if (sibling.title + final titleContainsTrackName = sibling.title .toLowerCase() - .contains(track.name!.toLowerCase())) { + .contains(track.name!.toLowerCase()); + + final hasOfficialFlag = + officialMusicRegex.hasMatch(sibling.title.toLowerCase()); + + if (titleContainsTrackName) { score += 3; } - if (officialMusicRegex - .hasMatch(sibling.title.toLowerCase())) { + if (hasOfficialFlag) { score += 1; } + if (hasOfficialFlag && titleContainsTrackName) { + score += 2; + } + return (sibling: sibling, score: score); }) .sorted((a, b) => b.score.compareTo(a.score))