feat: clean artist and title terms before iTunes search to improve result accuracy.

This commit is contained in:
Hördle Bot
2025-11-24 15:37:45 +01:00
parent e5d06029ef
commit f7de7f2684

View File

@@ -23,6 +23,19 @@ const USER_AGENT = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36
// Helper for delays // Helper for delays
const sleep = (ms) => new Promise(resolve => setTimeout(resolve, ms)); const sleep = (ms) => new Promise(resolve => setTimeout(resolve, ms));
// Helper to clean search terms
function cleanSearchTerm(text) {
return text
.replace(/_Unplugged/gi, '')
.replace(/_Remastered/gi, '')
.replace(/_Live/gi, '')
.replace(/_Acoustic/gi, '')
.replace(/_Radio Edit/gi, '')
.replace(/_Extended/gi, '')
.replace(/_/g, ' ')
.trim();
}
async function main() { async function main() {
console.log(`🎵 Starting iTunes Refresh Script`); console.log(`🎵 Starting iTunes Refresh Script`);
console.log(` Target: ${API_URL}`); console.log(` Target: ${API_URL}`);
@@ -92,7 +105,9 @@ async function main() {
while (retries < MAX_RETRIES) { while (retries < MAX_RETRIES) {
try { try {
const term = encodeURIComponent(`${song.artist} ${song.title}`); const cleanArtist = cleanSearchTerm(song.artist);
const cleanTitle = cleanSearchTerm(song.title);
const term = encodeURIComponent(`${cleanArtist} ${cleanTitle}`);
const itunesUrl = `https://itunes.apple.com/search?term=${term}&entity=song&limit=5`; const itunesUrl = `https://itunes.apple.com/search?term=${term}&entity=song&limit=5`;
const res = await fetch(itunesUrl, { const res = await fetch(itunesUrl, {