private void RescanSeries(Series series, bool isNew, CommandTrigger trigger) { var rescanAfterRefresh = _configService.RescanAfterRefresh; var shouldRescan = true; if (isNew) { _logger.Trace("Forcing rescan of {0}. Reason: New series", series); shouldRescan = true; } else if (rescanAfterRefresh == RescanAfterRefreshType.Never) { _logger.Trace("Skipping rescan of {0}. Reason: never rescan after refresh", series); shouldRescan = false; } else if (rescanAfterRefresh == RescanAfterRefreshType.AfterManual && trigger != CommandTrigger.Manual) { _logger.Trace("Skipping rescan of {0}. Reason: not after automatic scans", series); shouldRescan = false; } if (!shouldRescan) { return; } try { _diskScanService.Scan(series); } catch (Exception e) { _logger.Error(e, "Couldn't rescan series {0}", series); } }
private void RescanSeries(Series series) { try { _diskScanService.Scan(series); } catch (Exception e) { _logger.Error(e, "Couldn't rescan series {0}", series); } }
public void Execute(RefreshMovieCommand message) { _eventAggregator.PublishEvent(new MovieRefreshStartingEvent(message.Trigger == CommandTrigger.Manual)); if (message.MovieId.HasValue) { var movie = _movieService.GetMovie(message.MovieId.Value); RefreshMovieInfo(movie); } else { var allMovie = _movieService.GetAllMovies().OrderBy(c => c.SortTitle).ToList(); foreach (var movie in allMovie) { if (message.Trigger == CommandTrigger.Manual || _checkIfMovieShouldBeRefreshed.ShouldRefresh(movie)) { try { RefreshMovieInfo(movie); } catch (Exception e) { _logger.Error(e, "Couldn't refresh info for {0}", movie); } } else { try { _logger.Info("Skipping refresh of movie: {0}", movie.Title); _commandQueueManager.Push(new RenameMovieFolderCommand(new List <int> { movie.Id })); _diskScanService.Scan(movie); } catch (Exception e) { _logger.Error(e, "Couldn't rescan movie {0}", movie); } } } } }
public void Execute(RefreshSeriesCommand message) { _eventAggregator.PublishEvent(new SeriesRefreshStartingEvent()); if (message.SeriesId.HasValue) { var series = _seriesService.GetSeries(message.SeriesId.Value); RefreshSeriesInfo(series); } else { var allSeries = _seriesService.GetAllSeries().OrderBy(c => c.Title).ToList(); foreach (var series in allSeries) { if (message.Manual || _checkIfSeriesShouldBeRefreshed.ShouldRefresh(series)) { try { RefreshSeriesInfo(series); } catch (Exception e) { _logger.ErrorException("Couldn't refresh info for {0}".Inject(series), e); } } else { try { _logger.Info("Skipping refresh of series: {0}", series.Title); _diskScanService.Scan(series); } catch (Exception e) { _logger.ErrorException("Couldn't rescan series {0}".Inject(series), e); } } } } }
private void RescanArtist(Artist artist, bool isNew, CommandTrigger trigger, bool infoUpdated) { var rescanAfterRefresh = _configService.RescanAfterRefresh; var shouldRescan = true; if (isNew) { _logger.Trace("Forcing rescan of {0}. Reason: New artist", artist); shouldRescan = true; } else if (rescanAfterRefresh == RescanAfterRefreshType.Never) { _logger.Trace("Skipping rescan of {0}. Reason: never recan after refresh", artist); shouldRescan = false; } else if (rescanAfterRefresh == RescanAfterRefreshType.AfterManual && trigger != CommandTrigger.Manual) { _logger.Trace("Skipping rescan of {0}. Reason: not after automatic scans", artist); shouldRescan = false; } if (!shouldRescan) { return; } try { // If some metadata has been updated then rescan unmatched files. // Otherwise only scan files that haven't been seen before. var filter = infoUpdated ? FilterFilesType.Matched : FilterFilesType.Known; _diskScanService.Scan(artist, filter); } catch (Exception e) { _logger.Error(e, "Couldn't rescan artist {0}", artist); } }