/// <summary> /// Loads the specified output name. /// </summary> /// <param name="outputName"> /// Name of the output. /// </param> public static void Load(OutputName outputName) { switch (outputName) { case OutputName.MovieDb: LoadMovieDB(); break; case OutputName.MediaPathDb: LoadMediaPathDb(); break; case OutputName.MovieSets: LoadMovieSets(); break; case OutputName.TvDb: LoadTvDB(); break; case OutputName.ScanSeriesPick: LoadScanSeriesPick(); break; case OutputName.All: LoadMovieDB(); LoadMovieSets(); LoadMediaPathDb(); MasterMediaDBFactory.PopulateMasterMovieMediaDatabase(); LoadTvDB(); LoadScanSeriesPick(); MasterMediaDBFactory.PopulateMasterTvMediaDatabase(); break; } }
/// <summary> /// Handles the DoWork event of the bgw control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="System.ComponentModel.DoWorkEventArgs"/> instance containing the event data.</param> private void bgw_DoWork(object sender, DoWorkEventArgs e) { this.bgw.ReportProgress(17, "Loading Media Path Database"); DatabaseIOFactory.Load(DatabaseIOFactory.OutputName.MediaPathDb); this.bgw.ReportProgress(34, "Loading Movie Database"); DatabaseIOFactory.Load(DatabaseIOFactory.OutputName.MovieDb); this.bgw.ReportProgress(51, "Loading Media Sets Database"); DatabaseIOFactory.Load(DatabaseIOFactory.OutputName.MovieSets); this.bgw.ReportProgress(68, "Loading Tv Database"); DatabaseIOFactory.Load(DatabaseIOFactory.OutputName.TvDb); this.bgw.ReportProgress(80, "Loading Media Path Database"); DatabaseIOFactory.Load(DatabaseIOFactory.OutputName.ScanSeriesPick); this.bgw.ReportProgress(88, "Populating Movie Media Database"); MasterMediaDBFactory.PopulateMasterMovieMediaDatabase(); this.bgw.ReportProgress(96, "Populating TV Media Database"); MasterMediaDBFactory.PopulateMasterTvMediaDatabase(); this.bgw.ReportProgress(97, "Validating Sets"); MovieSetManager.ValidateSets(); this.bgw.ReportProgress(100, "Done."); }
/// <summary> /// The do import scan. /// </summary> public static void DoImportScan() { SeriesNameList = new BindingList <SeriesListModel>(); Scan = new SortedDictionary <string, ScanSeries>(); // Get file list var filters = Get.InOutCollection.VideoExtentions; var paths = MediaPathDBFactory.GetMediaPathTvUnsorted(); var filteredFiles = (from file in paths let pathAndFileName = Path.GetExtension(file.PathAndFileName).ToLower() where filters.Any(filter => pathAndFileName.ToLower() == "." + filter.ToLower()) select file.PathAndFileName).ToList(); // Process each file and add to ScanDB); foreach (var f in filteredFiles) { var episodeDetails = GetEpisodeDetails(f); if (episodeDetails.TvMatchSuccess) { AddScanResult(episodeDetails); } else { NotCatagorized.Add(new ScanNotCatagorized { FilePath = f }); } } MasterMediaDBFactory.PopulateMasterTvMediaDatabase(); }
/// <summary> /// Merges the import database with main movie database /// </summary> public static void MergeImportDatabaseWithMain() { ValidateDatabaseExistance(); MovieDBFactory.MergeWithDatabase(ImportDatabase); MasterMediaDBFactory.PopulateMasterMovieMediaDatabase(); MovieDBFactory.MergeWithDatabase(ImportDuplicatesDatabase, MovieDBFactory.MovieDBTypes.Duplicates); MovieSetManager.ScanForSetImages(); }
/// <summary> /// Merges the import database with main movie database /// </summary> public static void MergeImportDatabaseWithMain() { MovieDBFactory.MergeWithDatabase(ImportDatabase); MasterMediaDBFactory.PopulateMasterMovieMediaDatabase(); MovieSetManager.ScanForSetImages(); }
/// <summary> /// Process a file rename /// </summary> /// <param name="pathFrom"> /// Path from. /// </param> /// <param name="renameTo"> /// Rename too. /// </param> /// <returns> /// The remained path. /// </returns> public static string DoRename(string pathFrom, string renameTo) { renameTo = FileSystemCharChange.To(renameTo, FileSystemCharChange.ConvertArea.Tv); var fileName = Path.GetFileNameWithoutExtension(pathFrom); var filePath = Path.GetDirectoryName(pathFrom); // Bluray)) if (MovieNaming.IsBluRay(pathFrom)) { string folderPathFrom = MovieNaming.GetBluRayPath(pathFrom) + MovieNaming.GetBluRayName(pathFrom); string folderPathTo = MovieNaming.GetBluRayPath(pathFrom) + renameTo; if (folderPathFrom != folderPathTo) { try { Directory.Move(folderPathFrom, folderPathTo); MasterMediaDBFactory.ChangeTvFileName(folderPathFrom, folderPathTo); return(folderPathTo); } catch { return(string.Empty); } } return(folderPathFrom); } // DVD if (MovieNaming.IsDVD(pathFrom)) { string folderPathFrom = MovieNaming.GetDvdPath(pathFrom) + MovieNaming.GetDvdName(pathFrom); string folderPathTo = MovieNaming.GetDvdPath(pathFrom) + renameTo; if (folderPathFrom != folderPathTo) { try { Directory.Move(folderPathFrom, folderPathTo); MasterMediaDBFactory.ChangeTvFileName(folderPathFrom, folderPathTo); return(folderPathTo); } catch { return(string.Empty); } } return(folderPathFrom); } // File string pathTo = Path.GetDirectoryName(pathFrom) + Path.DirectorySeparatorChar + renameTo + Path.GetExtension(pathFrom); foreach (var subExt in Get.InOutCollection.SubtitleExtentions) { var possibleFileName = filePath + Path.DirectorySeparatorChar + fileName + "." + subExt; if (File.Exists(possibleFileName)) { try { File.Move(possibleFileName, filePath + Path.DirectorySeparatorChar + renameTo + "." + subExt); } catch { Log.WriteToLog(LogSeverity.Error, 0, "Could not rename", possibleFileName + " -> " + filePath + Path.DirectorySeparatorChar + renameTo + subExt); } } } try { File.Move(pathFrom, pathTo); MasterMediaDBFactory.ChangeTvFileName(pathFrom, pathTo); } catch { return(pathFrom); } return(pathTo); }