Fixed: Search on Artist Add, Monitor None Option on Artist Add

This commit is contained in:
Qstick 2017-11-25 01:08:54 -05:00
commit 9dcf90d241
6 changed files with 21 additions and 58 deletions

View file

@ -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
};
}

View file

@ -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;