Exemple #1
0
        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());
        }
Exemple #2
0
        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);
        }
Exemple #3
0
 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;
            }
        }
Exemple #7
0
        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);
 }