mirror of
https://github.com/lidarr/lidarr.git
synced 2025-08-20 13:33:34 -07:00
Fixed: Search on Artist Add, Monitor None Option on Artist Add
This commit is contained in:
parent
f7f6ad159c
commit
9dcf90d241
6 changed files with 21 additions and 58 deletions
|
@ -1,68 +1,31 @@
|
|||
import _ from 'lodash';
|
||||
|
||||
function monitorSeasons(seasons, startingSeason) {
|
||||
seasons.forEach((season) => {
|
||||
if (season.seasonNumber >= startingSeason) {
|
||||
season.monitored = true;
|
||||
} else {
|
||||
season.monitored = false;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function getMonitoringOptions(albums, monitor) {
|
||||
if (!albums.length) {
|
||||
return {
|
||||
albums: [],
|
||||
options: {
|
||||
ignoreEpisodesWithFiles: false,
|
||||
ignoreEpisodesWithoutFiles: false
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
const firstSeason = _.minBy(_.reject(albums, { seasonNumber: 0 }), 'seasonNumber').seasonNumber;
|
||||
const lastSeason = _.maxBy(albums, 'seasonNumber').seasonNumber;
|
||||
|
||||
monitorSeasons(albums, firstSeason);
|
||||
|
||||
function getMonitoringOptions(monitor) {
|
||||
const monitoringOptions = {
|
||||
ignoreEpisodesWithFiles: false,
|
||||
ignoreEpisodesWithoutFiles: false
|
||||
ignoreAlbumsWithFiles: false,
|
||||
ignoreAlbumsWithoutFiles: false,
|
||||
monitored: true
|
||||
};
|
||||
|
||||
switch (monitor) {
|
||||
case 'future':
|
||||
monitoringOptions.ignoreEpisodesWithFiles = true;
|
||||
monitoringOptions.ignoreEpisodesWithoutFiles = true;
|
||||
break;
|
||||
case 'latest':
|
||||
monitorSeasons(albums, lastSeason);
|
||||
break;
|
||||
case 'first':
|
||||
monitorSeasons(albums, lastSeason + 1);
|
||||
_.find(albums, { seasonNumber: firstSeason }).monitored = true;
|
||||
monitoringOptions.ignoreAlbumsWithFiles = true;
|
||||
monitoringOptions.ignoreAlbumsWithoutFiles = true;
|
||||
break;
|
||||
case 'missing':
|
||||
monitoringOptions.ignoreEpisodesWithFiles = true;
|
||||
monitoringOptions.ignoreAlbumsWithFiles = true;
|
||||
break;
|
||||
case 'existing':
|
||||
monitoringOptions.ignoreEpisodesWithoutFiles = true;
|
||||
monitoringOptions.ignoreAlbumsWithoutFiles = true;
|
||||
break;
|
||||
case 'none':
|
||||
monitorSeasons(albums, lastSeason + 1);
|
||||
monitoringOptions.monitored = false;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return {
|
||||
seasons: _.map(albums, (season) => {
|
||||
return _.pick(season, [
|
||||
'seasonNumber',
|
||||
'monitored'
|
||||
]);
|
||||
}),
|
||||
options: monitoringOptions
|
||||
};
|
||||
}
|
||||
|
|
|
@ -14,13 +14,13 @@ function getNewSeries(artist, payload) {
|
|||
searchForMissingAlbums = false
|
||||
} = payload;
|
||||
|
||||
// const {
|
||||
const {
|
||||
// seasons,
|
||||
// options: addOptions
|
||||
// } = getMonitoringOptions(artist.seasons, monitor);
|
||||
options: addOptions
|
||||
} = getMonitoringOptions(monitor);
|
||||
|
||||
// addOptions.searchForMissingAlbums = searchForMissingAlbums;
|
||||
// artist.addOptions = addOptions;
|
||||
addOptions.searchForMissingAlbums = searchForMissingAlbums;
|
||||
artist.addOptions = addOptions;
|
||||
// artist.seasons = seasons;
|
||||
artist.monitored = true;
|
||||
artist.qualityProfileId = qualityProfileId;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue