private void ProcessDownloadedEpisodesFolder() { //TODO: We should also process the download client's category folder var downloadedEpisodesFolder = _configService.DownloadedEpisodesFolder; if (String.IsNullOrEmpty(downloadedEpisodesFolder)) { _logger.Warn("Drone Factory folder is not configured"); return; } if (!_diskProvider.FolderExists(downloadedEpisodesFolder)) { _logger.Warn("Drone Factory folder [{0}] doesn't exist.", downloadedEpisodesFolder); return; } foreach (var subFolder in _diskProvider.GetDirectories(downloadedEpisodesFolder)) { try { if (_seriesService.SeriesPathExists(subFolder)) { continue; } var importedFiles = ProcessSubFolder(new DirectoryInfo(subFolder)); if (importedFiles.Any()) { if (_diskProvider.GetFolderSize(subFolder) < NotSampleSpecification.SampleSizeLimit) { _diskProvider.DeleteFolder(subFolder, true); } } } catch (Exception e) { _logger.ErrorException("An error has occurred while importing folder: " + subFolder, e); } } foreach (var videoFile in _diskScanService.GetVideoFiles(downloadedEpisodesFolder, false)) { try { ProcessVideoFile(videoFile); } catch (Exception ex) { _logger.ErrorException("An error has occurred while importing video file" + videoFile, ex); } } }