add error handling, add dupe checker to json files, add unavailable track checker to json
This commit is contained in:
parent
cac779ffaa
commit
a133624584
3 changed files with 33 additions and 25 deletions
6
.gitignore
vendored
6
.gitignore
vendored
|
@ -37,4 +37,8 @@ report.[0-9]_.[0-9]_.[0-9]_.[0-9]_.json
|
|||
tmp
|
||||
localstorage.json
|
||||
localStorage.sqlite
|
||||
downloaded
|
||||
downloaded
|
||||
duplicates.name.json
|
||||
duplicates.isrc.json
|
||||
.gitignore
|
||||
unavailable.json
|
||||
|
|
44
index.ts
44
index.ts
|
@ -146,19 +146,18 @@ for (const track of tracks.items) {
|
|||
}
|
||||
}
|
||||
*/
|
||||
/* Remove all tracks that are unavailable
|
||||
for (const track of tracks.items) {
|
||||
if (track.item.streamReady) {
|
||||
continue
|
||||
}
|
||||
/* Remove all tracks that are unavailable*/
|
||||
let unavailableTracks = tracks.items.filter(track => !track.item.streamReady);
|
||||
|
||||
/*for (const track of unavailableTracks) {
|
||||
await utils.fetch("/users/199235629/favorites/tracks/" + track.item.id, {
|
||||
method: "DELETE",
|
||||
})
|
||||
console.log("Removed from favorites", track.item.id)
|
||||
}
|
||||
*/
|
||||
/*
|
||||
}*/
|
||||
|
||||
Bun.write("unavailable.json", JSON.stringify(unavailableTracks, null, 2))
|
||||
|
||||
function findDuplicateTracksByName(tracks: typeof tracks.items) {
|
||||
const seen = new Map<string, { count: number, originals: typeof tracks }>();
|
||||
|
||||
|
@ -214,29 +213,28 @@ function findDuplicateTracksByISRC(tracks: typeof tracks.items) {
|
|||
}));
|
||||
}
|
||||
|
||||
*/
|
||||
/*
|
||||
|
||||
// Usage:
|
||||
const duplicatesByISRC = findDuplicateTracksByISRC(tracks.items);
|
||||
|
||||
let duplicatesISRCText = {};
|
||||
|
||||
duplicatesByISRC.forEach(({ name, isrc, count, duplicates }) => {
|
||||
console.log(`Name: ${name} ISRC: "${isrc}" - Count: ${count}`);
|
||||
duplicates.forEach((trackObj) => {
|
||||
//console.log(` - Track ID: ${trackObj.item.id}, Created: ${trackObj.created}`);
|
||||
});
|
||||
duplicatesISRCText[isrc] = { name, count, duplicates };
|
||||
});
|
||||
*/
|
||||
/*
|
||||
// Usage:
|
||||
|
||||
await Bun.write("duplicates.isrc.json", JSON.stringify(duplicatesISRCText, null, 2));
|
||||
|
||||
|
||||
const duplicates = findDuplicateTracksByName(tracks.items);
|
||||
|
||||
console.log("Duplicate tracks:");
|
||||
let duplicatesNamesText = {};
|
||||
|
||||
duplicates.forEach(({ normalizedTitle, count, duplicates }) => {
|
||||
console.log(`Title: "${normalizedTitle}" - Count: ${count}`);
|
||||
duplicates.forEach((trackObj) => {
|
||||
//console.log(` - Track ID: ${trackObj.item.id}, Created: ${trackObj.created}`);
|
||||
});
|
||||
duplicatesNamesText[normalizedTitle] = { count, duplicates };
|
||||
});
|
||||
*/
|
||||
|
||||
await Bun.write("duplicates.name.json", JSON.stringify(duplicatesNamesText, null, 2));
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -41,7 +41,13 @@ export default class {
|
|||
})
|
||||
|
||||
if (!response.ok) {
|
||||
throw new Error(`Failed to fetch ${url}: ${response.status} ${response.statusText}`)
|
||||
//throw new Error(`Failed to fetch ${url}: ${response.status} ${response.statusText}\n${await response.text()}`);
|
||||
return {
|
||||
status: response.status,
|
||||
statusText: response.statusText,
|
||||
url: parsedUrl.toString(),
|
||||
error: await response.text(),
|
||||
}
|
||||
}
|
||||
|
||||
return await response.json() as Object;
|
||||
|
|
Loading…
Add table
Reference in a new issue