mirror of
https://github.com/ragestudio/comty.git
synced 2025-07-11 02:04:15 +00:00
format
This commit is contained in:
parent
c79f000ea3
commit
f4705b1f45
@ -33,17 +33,16 @@ async function main() {
|
|||||||
console.log(
|
console.log(
|
||||||
`[${index + 1}/${tracks.length}] Fetching ETag for source: ${track.source} (Track ID: ${track._id})`,
|
`[${index + 1}/${tracks.length}] Fetching ETag for source: ${track.source} (Track ID: ${track._id})`,
|
||||||
)
|
)
|
||||||
|
|
||||||
const response = await axios.head(track.source, {
|
const response = await axios.head(track.source, {
|
||||||
timeout: 10000, // 10 seconds timeout
|
timeout: 10000, // 10 seconds timeout
|
||||||
// Add headers to mimic a browser to avoid some 403s or other blocks
|
|
||||||
headers: {
|
headers: {
|
||||||
"User-Agent":
|
Accept: "*/*",
|
||||||
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36",
|
|
||||||
Accept: "*/*", // More generic accept for HEAD
|
|
||||||
"Accept-Encoding": "gzip, deflate, br",
|
"Accept-Encoding": "gzip, deflate, br",
|
||||||
Connection: "keep-alive",
|
Connection: "keep-alive",
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
// ETag header can be 'etag' or 'ETag' (case-insensitive)
|
// ETag header can be 'etag' or 'ETag' (case-insensitive)
|
||||||
const etag = response.headers["etag"] || response.headers["ETag"]
|
const etag = response.headers["etag"] || response.headers["ETag"]
|
||||||
|
|
||||||
@ -52,7 +51,6 @@ async function main() {
|
|||||||
tracksByETag.set(etag, [])
|
tracksByETag.set(etag, [])
|
||||||
}
|
}
|
||||||
tracksByETag.get(etag).push(track)
|
tracksByETag.get(etag).push(track)
|
||||||
// console.log(` ETag: ${etag} found for source: ${track.source}`)
|
|
||||||
} else {
|
} else {
|
||||||
console.warn(
|
console.warn(
|
||||||
` No ETag found for source: ${track.source} (Track ID: ${track._id})`,
|
` No ETag found for source: ${track.source} (Track ID: ${track._id})`,
|
||||||
@ -60,16 +58,13 @@ async function main() {
|
|||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
let errorMessage = error.message
|
let errorMessage = error.message
|
||||||
|
|
||||||
if (error.response) {
|
if (error.response) {
|
||||||
// The request was made and the server responded with a status code
|
|
||||||
// that falls out of the range of 2xx
|
|
||||||
errorMessage = `Server responded with status ${error.response.status} ${error.response.statusText}`
|
errorMessage = `Server responded with status ${error.response.status} ${error.response.statusText}`
|
||||||
} else if (error.request) {
|
} else if (error.request) {
|
||||||
// The request was made but no response was received
|
|
||||||
errorMessage =
|
errorMessage =
|
||||||
"No response received from server (e.g., timeout, network error)"
|
"No response received from server (e.g., timeout, network error)"
|
||||||
}
|
}
|
||||||
// else: Something happened in setting up the request that triggered an Error
|
|
||||||
|
|
||||||
console.error(
|
console.error(
|
||||||
`Error fetching ETag for ${track.source} (Track ID: ${track._id}): ${errorMessage}`,
|
`Error fetching ETag for ${track.source} (Track ID: ${track._id}): ${errorMessage}`,
|
||||||
@ -97,7 +92,7 @@ async function main() {
|
|||||||
)
|
)
|
||||||
|
|
||||||
const trackToKeep = tracksForETag[0]
|
const trackToKeep = tracksForETag[0]
|
||||||
const tracksToDelete = tracksForETag.slice(1) // All tracks except the newest one
|
const tracksToDelete = tracksForETag.slice(1)
|
||||||
|
|
||||||
if (tracksToDelete.length > 0) {
|
if (tracksToDelete.length > 0) {
|
||||||
const idsToDelete = tracksToDelete.map((track) => track._id)
|
const idsToDelete = tracksToDelete.map((track) => track._id)
|
||||||
@ -137,6 +132,7 @@ async function main() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log(`Finished processing. Total tracks deleted: ${deletedCount}.`)
|
console.log(`Finished processing. Total tracks deleted: ${deletedCount}.`)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user