public virtual string IndexNow(IndexingMode mIndexMode, bool bWriteToFile = true) { // Does not seem to reach here List <string> fixedFolderList = new List <string>(); List <string> dneFolderList = new List <string>(); foreach (string dirPath in mSettings.GetConfig().FolderList) { if (Directory.Exists(dirPath)) { fixedFolderList.Add(dirPath); } else { dneFolderList.Add(dirPath); } } if (dneFolderList.Count > 0) { StringBuilder sb = new System.Text.StringBuilder(); foreach (string dp in dneFolderList) { sb.AppendLine(dp); } MessageBox.Show("Following Index folders do not exist:" + Environment.NewLine + Environment.NewLine + sb.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } // Overrides by Sub Classes mSettings.GetConfig().FolderList = fixedFolderList; return(new StringBuilder().ToString()); }
public bool isBannedFolder(TreeDir dir) { // Check if Option set to Enable Filtering if (mSettings.GetConfig().EnabledFiltering) { DirectoryInfo di = new DirectoryInfo(dir.DirectoryPath()); FileAttributesEx dirAttrib = new FileAttributesEx(dir.DirectoryPath()); string[] c = dir.DirectoryPath().Split(Path.DirectorySeparatorChar); // If Options says to filter protected OS folders if (mSettings.GetConfig().HideProtectedOperatingSystemFilesFolders) { return(c[1].Length != 0 && dirAttrib.isReadOnlyDirectory() && mSettings.GetConfig().HideProtectedOperatingSystemFilesFolders); } // If Config says to filter Hidden Folders if (mSettings.GetConfig().IgnoreHiddenFolders) { return(dirAttrib.isHidden()); } // If Config says to filter System Folders if (mSettings.GetConfig().IgnoreSystemFolders) { return(dirAttrib.isSystem()); } //war59312: If Config says to filter Empty Folders if (mSettings.GetConfig().IgnoreEmptyFolders&& dir.DirectorySize() == 0.0) { return(true); } } return(false); }
public FilterHelper(IndexerAdapter settings) { mSettings = settings; mBannedFilter = Regex.Split(mSettings.GetConfig().IgnoreFilesList, "\\" + mSettings.GetOptions().IgnoreFilesListDelimiter); }
private void IndexInEachDir(IndexerAdapter myReader) { string where = null; List <string> folderList = new List <string>(); folderList = myReader.GetConfig().FolderList; TreeNetIndexer treeNetLib = new TreeNetIndexer(myReader); string ext = myReader.GetConfig().IndexFileExt; for (int i = 0; i <= myReader.GetConfig().FolderList.Count - 1; i++) { string strDirPath = myReader.GetConfig().FolderList[i]; // 2.5.1.1 Indexer halted if a configuration file had non-existent folders paths if (Directory.Exists(strDirPath)) { where = myReader.fGetIndexFilePath(i, IndexingMode.IN_EACH_DIRECTORY); if (Directory.Exists(Path.GetDirectoryName(where)) == false) { Directory.CreateDirectory(Path.GetDirectoryName(where)); } StreamWriter sw = new StreamWriter(where, false); StringBuilder sb = new StringBuilder(); try { this.CurrentDirMessage = "Indexing " + strDirPath; if (ext.Contains("html")) { //MessageBox.Show(myReader.GetConfig().mCssFilePath) treeNetLib.mBooFirstIndexFile = true; treeNetLib.IndexRootFolderToHtml(strDirPath, sb, mSettings.GetConfig().AddFooter); } else { treeNetLib.IndexFolderToTxt(strDirPath, sb, mSettings.GetConfig().AddFooter); } this.Progress += 1; } catch (UnauthorizedAccessException ex) { MessageBox.Show(ex.Message + "\n" + "Please Run TreeGUI As Administrator or Change Output Directory.", Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } catch (Exception ex) { MessageBox.Show(ex.Message, Application.ProductName, MessageBoxButtons.OK); return; } finally { sw.Write(sb.ToString()); sw.Close(); } // Zip after sw is closed if (myReader.GetConfig().ZipFilesInEachDir) { myReader.ZipAdminFile(where, null); } } } }
private TreeDir Analyze(string rootDirPath) { TreeDir dirRoot = new TreeDir(rootDirPath); dirRoot = GetFiles(dirRoot.DirectoryPath()); if (mSettings.GetConfig().SortBySize) { dirRoot.GetSubDirColl().Sort(new TreeDirComparer()); if (mSettings.GetConfig().SortBySizeMode == FileSortMode.Descending) { dirRoot.GetSubDirColl().Reverse(); } } return(dirRoot); }
public void SetText(string text) { Job1 = EDataType.Text; TempText = text; string ext = ".log"; if (Directory.Exists(text) && WorkflowConfig.DestConfig.TextUploaders.Contains(TextDestination.FileUploader)) { ext = ".html"; } string fptxt = FileSystem.GetUniqueFilePath(Engine.ConfigWorkflow, Engine.TextDir, new NameParser().Convert("%y.%mo.%d-%h.%mi.%s") + ext); UpdateLocalFilePath(fptxt); if (Directory.Exists(text)) { var settings = new IndexerAdapter(); settings.LoadConfig(Engine.ConfigOptions.IndexerConfig); Engine.ConfigOptions.IndexerConfig.FolderList.Clear(); settings.GetConfig().SetSingleIndexPath(Path.Combine(Engine.TextDir, Info.FileName)); settings.GetConfig().FolderList.Add(TempText); Indexer indexer = null; switch (settings.GetConfig().IndexingEngineType) { case IndexingEngine.TreeLib: indexer = new TreeWalkIndexer(settings); break; case IndexingEngine.TreeNetLib: indexer = new TreeNetIndexer(settings); break; } if (indexer != null) { Job3 = JobLevel3.IndexFolder; TempText = indexer.IndexNow(IndexingMode.IN_ONE_FOLDER_MERGED, false); UpdateLocalFilePath(settings.GetConfig().GetIndexFilePath()); } } else if (FileSystem.IsValidLink(text)) { Job3 = JobLevel3.ShortenURL; } else { Job3 = JobLevel3.UploadText; } }
private string getAddFilesSwitch() { if (mSettings.GetConfig().TreeShowFiles) { return(" /f"); } return(null); }
public FilterHelper(IndexerAdapter settings) { mSettings = settings; mBannedFilter = Regex.Split(mSettings.GetConfig().IgnoreFilesList, "\\" + mSettings.GetOptions().IgnoreFilesListDelimiter); }