Created
June 29, 2017 05:47
-
-
Save ojame/93560d99149124ea2f89b9d78cbcadd1 to your computer and use it in GitHub Desktop.
Delete all movies that haven't been 'downloaded' in Radarr. Mass/bulk deleting.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Go to Radarr and click 'settings' => 'general'. | |
// Open the JavaScript Console in Google Chrome (View => Developer => Javascript Console) | |
// Past the following in. Hit enter and away you go. | |
const key = document.getElementsByClassName('x-api-key')[0].value; | |
if (!key) { | |
alert('Navigate to /settings/general and run again'); | |
} | |
let ids = []; | |
let _movies = []; | |
let index = 0; | |
const percent = () => { | |
return `[${(((index + 1) / _movies.length) * 100).toFixed(2)}%]` | |
} | |
const deleteMovie = (id) => | |
fetch(`/api/movie/${id}`, { | |
method: 'DELETE', | |
headers: { | |
'X-Api-Key': key, | |
}, | |
}).then(() => { | |
index++; | |
if (ids[index]) { | |
console.log(`${percent()} Deleting ${_movies.find(m => m.id === ids[index]).title}`); | |
deleteMovie(ids[index]); | |
} else { | |
console.log('Finished deleting movies') | |
alert('It looks like all movies were deleted'); | |
} | |
}) | |
console.log('Fetching list of your movies, this could take a while...'); | |
console.log('Please don\'t refresh this page until finished'); | |
fetch('/api/movie', { | |
headers: { | |
'X-Api-Key': key, | |
} | |
}).then(res => res.json()).then(movies => { | |
console.log('Movie list fetched'); | |
_movies = movies; | |
const downloaded = movies.filter(movie => !movie.downloaded); | |
ids = downloaded.map(movie => movie.id); | |
if (ids.length) { | |
console.log(`${percent()} Deleting ${movies.find(m => m.id === ids[index]).title}`); | |
deleteMovie(ids[index]); | |
} else { | |
alert('There doesn`t seem to be any movies to delete'); | |
} | |
}); |
I tried running the delete.js code in the javascript console, but I am getting a "Uncaught TypeError: Cannot read property 'value' of undefined
at :1:60". Any thoughts on what I might be doing wrong?
I tried running the delete.js code in the javascript console, but I am getting a "Uncaught TypeError: Cannot read property 'value' of undefined at :1:60". Any thoughts on what I might be doing wrong?
Change this line
const key = document.getElementsByClassName('x-api-key')[0].value;
to this
const key = document.getElementsByName('apiKey')[0].value;
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
SO MUCH TIME SAVED! LOVE THIS!
For anyone avoiding Chrome, this also works in the Web Console of Firefox...