/// <summary> /// For enumerating all the entities of the group of containers ContainerEnumerator class is used /// </summary> public static void EnumeratingAllEntities() { //ExStart:EnumeratingAllEntities IContainerFactory containerFactory = null; MediaTypeDetector containerMediaTypeDetector = null; Container container = null; ExtractorFactory readerFactory = new ExtractorFactory(); var enumerator = new ContainerEnumerator(containerFactory, containerMediaTypeDetector, container); while (enumerator.MoveNext()) { using (var stream = enumerator.Current.OpenStream()) { using (var extractor = readerFactory.CreateTextExtractor(stream)) { Console.WriteLine(extractor == null ? "document isn't supported" : extractor.ExtractAll()); } } } //ExEnd:EnumeratingAllEntities }
internal static bool AnalyzeFileAndAddToMediaSection (FileInfo file, IMLSection section, IList extensionsToIgnore, IEnumerable <string> videoExtensions, IEnumerable <string> combinedSceneTags, string fileExtension, bool isAudio, bool isVideo, DirectoryInfo parent, string parentName, string fileName) { Application.DoEvents(); MediaTypeDetector.AddFileToIgnoredExtensions (file, extensionsToIgnore, fileName, isAudio, isVideo, fileExtension); Application.DoEvents(); if (!PopulateMediaSection (file, section, videoExtensions, parent, isVideo, isAudio, fileName, parentName, combinedSceneTags)) { return(false); } Application.DoEvents(); return(true); }
internal static bool ImportMediaFile (FileInfo file, IMLSection section, ref ArrayList extensionsToIgnore, ref string[] filmLocations, string[] videoExtensions, string[] audioExtensions, int totalFiles, ref int currentFile, IEnumerable <string> combinedSceneTags, string pluginPath, IEnumerable <string> videoExtensionsCommon) { try { Application.DoEvents(); #region Init currentFile++; if (file == null) { return(true); } #region Set Progress status MainImportingEngine.CurrentProgress = ImportingEngineHelpers.ComputeProgress(currentFile, totalFiles); MainImportingEngine.GeneralStatus = "Performing media importing..."; MainImportingEngine.SpecialStatus = String.Format("Checking file {0}...", file.Name); #endregion if (!File.Exists(file.FullName)) { return(true); } #region file variables string parentName = string.Empty; string fileName; string fileExtension; bool isVideo; bool isAudio; if (SingleMediaFileImporterHelpers .RemoveExtensionFromFilename (file, out fileName, out fileExtension)) { return(true); } #region Retrieve Parent Directory DirectoryInfo parent = file.Directory; if (parent != null && !String.IsNullOrEmpty(parent.Name)) { parentName = parent.Name; } #endregion #endregion #endregion Application.DoEvents(); if (SingleMediaFileImporterHelpers.ImportAdditionalMediaTypes (file, section, parent, parentName)) { return(true); } Application.DoEvents(); if (MediaTypeDetector.FileTypeBelongsToIgnoredExtensions(file, extensionsToIgnore)) { return(true); } Application.DoEvents(); if (ExistingMediaItemSeachEngine.SkipAlreadyImportedFiles (file, filmLocations, section)) { return(true); } Application.DoEvents(); MediaTypeDetector.FileTypeIsMediaExtension(videoExtensions, audioExtensions, fileExtension, out isVideo, out isAudio, fileName, videoExtensionsCommon); Application.DoEvents(); if (!MediaSectionPopulator .AnalyzeFileAndAddToMediaSection (file, section, extensionsToIgnore, videoExtensions, combinedSceneTags, fileExtension, isAudio, isVideo, parent, parentName, fileName)) { return(false); } } catch (Exception e) { if (file != null) { Debugger.LogMessageToFile("An error occured while attempting to import a media file " + // + file.Name + "." + Environment.NewLine + "The error was: " + e); } } return(true); }