protected override void InternalRunWorker(object arg) { _log.Info("Processing: " + arg); TmdbResult newData = null; try { var name = _guessit.RealGuessName(Path.GetFileName(arg.ToString())); if (name?.ImdbId != null) { newData = _tmdb.GetByImdbId(name.ImdbId); } else if (name?.Title != null) { newData = _tmdb.GetByTmdbId(_tmdb.SearchMovies(name.Title, name.Year).First()); } } catch (Exception e) { _log.Error(e, "Process error: " + arg); } newData = newData ?? _tmdb.GetByFilename(Path.GetFileName(arg.ToString())); var result = new MovieEntryFacade(newData, arg.ToString()); _log.Info("Processed: " + arg); IncrementWorkDone(); OnProgressChanged(this, new ProgressChangedEventArgs(GetPercentage(), new DirectoryAnalyzeWorkerState { Entry = result })); }
protected override void InternalRunWorker(object arg) { try { _log.Info("Processing: " + arg); var currentFolder = new PowerPath(arg.ToString()); // check for ignore pattern var lastName = currentFolder.GetLastDirectoryName(); if (lastName.StartsWith("[") && lastName.EndsWith("]")) { _log.Debug("Process skipped due to directory name."); return; } // find first movie var currentMoviePath = _persistentDataManager.FindFirstMovieFile(arg.ToString()); if (currentMoviePath == null) { _log.Debug("Process skipped due to unavaliable movie file."); return; } // find metadata TmdbResult entry; if (_persistentDataManager.HasPersistentData(currentMoviePath.GetDirectoryPath())) { _log.Debug("Using saved presist data."); entry = _persistentDataManager.LoadData(currentMoviePath); } else { _log.Debug("Creating new data using GetByFilename."); entry = _tmdb.GetByFilename(currentMoviePath.GetFileNameWithoutExtension()); } // pop to event var result = new MovieEntryFacade(entry, currentMoviePath); OnProgressChanged(this, new ProgressChangedEventArgs(-1, new DirectoryAnalyzeWorkerState { Entry = result })); _log.Info("Processed: " + arg); } catch (Exception e) { _log.Error(e, "Process error. Path: " + arg); } }