extract image names from urls

This commit is contained in:
optionallychained 2024-09-26 16:05:10 +01:00
parent ac781c36f6
commit 5ca589bd54

View file

@ -40,6 +40,15 @@ const printAscii = () => {
🤑 Starting downloads from your favorite sellout grifter's wallpaper app...`)
}
const extractImageName = (url) =>
decodeURIComponent(
(new RegExp(/^https:\/\/.*\/content\/(.*.[a-zA-Z])\?/).exec(url)[1] || '')
.replace(`a~`, '')
.replace(/(_[a-z0-9]+)\//, ' - ')
.replace('/', ' - ')
.replace(/~+/g, ' ')
)
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// ACTIONS
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@ -88,8 +97,7 @@ const downloadImages = (data, downloadDirectory) =>
Object.values(data)
.filter((assetMap) => !!assetMap.dhd)
.map(({ dhd: url }, i) => {
// TODO extract actual image name past /content to first ?
const fileName = `${i + 1}${extname(new URL(url).pathname) || '.jpg'}`
const fileName = `[${i + 1}] - ${extractImageName(url)}`
const filePath = join(downloadDirectory, fileName)
return fetch(url)