示例#1
0
        private void FillFilesView(string result)
        {
            var fls = result.Split(new[] { '\n' }, StringSplitOptions.RemoveEmptyEntries).ToList();

            fls.RemoveAt(0);

            _files.Clear();

            FilesListView.ItemsSource = null;

            if (_initialPath != CurrentPath)
            {
                _files.Add(new ClusterFileInfo()
                {
                    Name = "   ", Type = "dup"
                });
            }

            foreach (var file in fls)
            {
                if (file == @"cat: /etc/banner: No such file or directory")
                {
                    continue;                                                         //todo криво, конечно. надо подумать как изменить
                }
                var curFileArray = file.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
                if (curFileArray.Count() < 9)
                {
                    continue;
                }
                if (curFileArray.Last() == "." || curFileArray.Last() == "..")
                {
                    continue;
                }
                //10 May 2008 14:32:17 GMT


                if (curFileArray.Last() == "base_lomonosov" && _initialPath == CurrentPath)
                {
                    continue;                                                                         //скрываем базовую папку, ибо нефиг её трогать
                }
                var md = DateTime.Today;

                DateTime.TryParse(String.Format("{0} {1}", curFileArray[5], curFileArray[6]), out md);

                var curFileInfo = new ClusterFileInfo {
                    Type             = curFileArray[0],
                    LinkCount        = Config.Tools.ParseOrDefaultInt(curFileArray[1]),
                    Owner            = curFileArray[2], Group = curFileArray[3],
                    Size             = Config.Tools.ParseOrDefaultUInt(curFileArray[4], 0),
                    ModificationDate = md,
                    Name             = curFileArray[8]
                };

                _files.Add(curFileInfo);
            }

            FilesListView.ItemsSource = _files;
            FilesListView.Items.Refresh();
        }
示例#2
0
        private void FillFilesView(string result)
        {
            var fls = result.Split(new[] { '\n' }, StringSplitOptions.RemoveEmptyEntries).ToList();

            fls.RemoveAt(0);

            _files.Clear();

            FilesListView.ItemsSource = null;

            if (_initialPath != CurrentPath)
            {
                _files.Add(new ClusterFileInfo()
                {
                    Name = "   ", Type = "dup"
                });
            }

            foreach (var file in fls)
            {
                if (file == @"cat: /etc/banner: No such file or directory")
                {
                    continue;                                                         //todo криво, конечно. надо подумать как изменить
                }
                var curFileArray = file.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
                if (curFileArray.Count() < 9)
                {
                    continue;
                }
                //10 May 2008 14:32:17 GMT

                var md = DateTime.Today;

                if (!DateTime.TryParse(String.Format("{0} {1} {2} {3}:00 GMT ", curFileArray[6], curFileArray[5],
                                                     DateTime.Now.Year, curFileArray[7]), out md))
                {
                    DateTime.TryParse(String.Format("{0} {1} {2} {3}:00 GMT ", curFileArray[6], curFileArray[5],
                                                    curFileArray[7], "00"), out md);
                }
                else
                {
                    if (md > DateTime.Today.AddDays(1))
                    {
                        md = md.AddYears(-1);
                    }
                };  //todo найти способ получать более детализированное время, даже тех записей, что старше полугода

                var curFileInfo = new ClusterFileInfo {
                    Type             = curFileArray[0],
                    LinkCount        = Config.Tools.ParseOrDefaultInt(curFileArray[1]),
                    Owner            = curFileArray[2], Group = curFileArray[3],
                    Size             = Config.Tools.ParseOrDefaultUInt(curFileArray[4], 0),
                    ModificationDate = md,
                    Name             = curFileArray[8]
                };

                _files.Add(curFileInfo);
            }

            FilesListView.ItemsSource = _files;
            FilesListView.Items.Refresh();
        }