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(); }
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(); }