Beispiel #1
0
        /// <summary>List files by the specified filter.</summary>
        /// <param name="filter">Instance to filter by.</param>
        /// <returns>Filter list of files.</returns>
        public IFile[] ListFilesFiltered(IFileFilter filter)
        {
            DirectoryInfo dirInfo = new DirectoryInfo(PathUtils.ToOSPath(this.AbsolutePath));

            DirectoryInfo[] dirInfos   = dirInfo.GetDirectories();
            FileInfo[]      fileInfos  = dirInfo.GetFiles();
            string          accessFile = this.Config["filesystem.local.access_file_name"];
            ArrayList       files      = new ArrayList();

            // Add directories
            foreach (DirectoryInfo info in dirInfos)
            {
                LocalFile file = (LocalFile)this.manager.GetFile(PathUtils.ToUnixPath(info.FullName));

                if (filter != null && !filter.Accept(file))
                {
                    continue;
                }

                files.Add(file);
            }

            // Add files
            foreach (FileInfo info in fileInfos)
            {
                if (info.Name == accessFile)
                {
                    continue;
                }

                LocalFile file = (LocalFile)this.manager.GetFile(PathUtils.ToUnixPath(info.FullName));

                if (filter != null && !filter.Accept(file))
                {
                    continue;
                }

                files.Add(file);
            }

            return((IFile[])files.ToArray(typeof(LocalFile)));
        }
Beispiel #2
0
 public static FileInfo[] ListFilesInDirectoryByFilter(String path, bool recursive, IFileFilter filter)
 {
     if (!String.IsNullOrEmpty(path))
     {
         DirectoryInfo dir = new DirectoryInfo(path);
         if (dir.Exists)
         {
             FileInfo[]      files = dir.GetFiles("*.*", recursive ? SearchOption.AllDirectories : SearchOption.TopDirectoryOnly);
             List <FileInfo> list  = new List <FileInfo>();
             foreach (FileInfo f in files)
             {
                 if (filter.Accept(f))
                 {
                     list.Add(f);
                 }
             }
             return(list.ToArray());
         }
     }
     return(null);
 }
        public override IFile[] ListFilesFiltered(IFileFilter filter)
        {
            HttpCookie cookie = HttpContext.Current.Request.Cookies["fav"];
            ArrayList  files  = new ArrayList();

            if (cookie != null && cookie.Value != null)
            {
                foreach (string path in cookie.Value.Split(new char[] { ',' }))
                {
                    try {
                        IFile file = this.manager.GetFile(this.manager.DecryptPath(path));

                        if (filter.Accept(file))
                        {
                            files.Add(file);
                        }
                    } catch {
                        // Ignore
                    }
                }
            }

            return((IFile[])files.ToArray(typeof(IFile)));
        }
Beispiel #4
0
 /// <summary>Checks whether a file satisfies the selection filter.</summary>
 /// <param name="file">The file</param>
 /// <returns>true if the file is acceptable</returns>
 public virtual bool Accept(File file)
 {
     return(!f1.Accept(file));
 }
Beispiel #5
0
        public override IFile[] ListFilesFiltered(IFileFilter filter)
        {
            HttpCookie cookie = HttpContext.Current.Request.Cookies["hist"];
            ArrayList files = new ArrayList();

            if (cookie != null && cookie.Value != null) {
                foreach (string path in cookie.Value.Split(new char[]{','})) {
                    try {
                        IFile file = this.manager.GetFile(this.manager.DecryptPath(path));

                        if (filter.Accept(file))
                            files.Add(file);
                    } catch {
                        // Ignore
                    }
                }
            }

            return (IFile[]) files.ToArray(typeof(IFile));
        }
Beispiel #6
0
        /// <summary>List files by the specified filter.</summary>
        /// <param name="filter">Instance to filter by.</param>
        /// <returns>Filter list of files.</returns>
        public IFile[] ListFilesFiltered(IFileFilter filter)
        {
            DirectoryInfo dirInfo = new DirectoryInfo(PathUtils.ToOSPath(this.AbsolutePath));
             	DirectoryInfo[] dirInfos = dirInfo.GetDirectories();
             	FileInfo[] fileInfos = dirInfo.GetFiles();
             	string accessFile = this.Config["filesystem.local.access_file_name"];
            ArrayList files = new ArrayList();

            // Add directories
            foreach (DirectoryInfo info in dirInfos) {
                LocalFile file = (LocalFile) this.manager.GetFile(PathUtils.ToUnixPath(info.FullName));

                if (filter != null && !filter.Accept(file))
                    continue;

                files.Add(file);
            }

            // Add files
            foreach (FileInfo info in fileInfos) {
                if (info.Name == accessFile)
                    continue;

                LocalFile file = (LocalFile) this.manager.GetFile(PathUtils.ToUnixPath(info.FullName));

                if (filter != null && !filter.Accept(file))
                    continue;

                files.Add(file);
            }

            return (IFile[]) files.ToArray(typeof(LocalFile));
        }
Beispiel #7
0
 /// <summary>Checks whether a file satisfies the selection filter.</summary>
 /// <param name="file">The file</param>
 /// <returns>true if the file is acceptable</returns>
 public virtual bool Accept(FileInfo file)
 {
     return(f1.Accept(file) && f2.Accept(file));
 }