private static void _FillFolder(DirectoryInfo directory, RepoFolder folder) { foreach (var dirinfo in directory.GetDirectories()) { if (dirinfo.Attributes.HasFlag(FileAttributes.Hidden) || dirinfo.Name.StartsWith(".")) { continue; } var subFolder = new RepoFolder(dirinfo.Name, new Uri(folder.Uri, dirinfo.Name)); _FillFolder(dirinfo, subFolder); folder.Folders.Add(subFolder); } foreach (var fileinfo in directory.GetFiles()) { if (fileinfo.Attributes.HasFlag(FileAttributes.Hidden) || fileinfo.Name.StartsWith(".")) { continue; } var file = new RepoFile(fileinfo.Name); folder.Files.Add(file); } var defaultfile = (from f in folder.Files where f.Name.ToLowerInvariant().StartsWith("index.") || f.Name.ToLowerInvariant().StartsWith("default.") where f.Type == FileType.html select f).FirstOrDefault(); if (defaultfile != null) { folder.Files.Remove(defaultfile); folder.Files.Insert(0, defaultfile); } }
public static RepoFolder GetFolder(this TempDir dir) { RepoFolder folder = new RepoFolder("_root", dir.FileUri); _FillFolder(dir.Directory, folder); return(folder); }
public static RepoFolder GetFolder(this Repository repo) { RepoFolder folder = new RepoFolder("_root", repo.FileUri); _FillFolder(repo.Folder, folder); return(folder); }
private void _TestFolder(RepoFolder folder) { foreach (var file in folder.Files.Where(f => f.Type == FileType.html)) { var pageUri = new Uri(folder.Uri, file.Name); string pageText = null; if (RequestHelper.GetPageText(pageUri, out pageText)) { _validator.ValidatePage(file.Name, pageText); foreach (var device in _allDevices) { _browser.SetWindowSize(device.ViewportWidth, device.ViewportHeight); _presubmissionResults.AppendResults(TestPage(pageUri, null, true)); _fullResults.AppendResults(TestPage(pageUri, null, false)); } } } foreach (var subfolder in folder.Folders) { _TestFolder(subfolder); } }
public void initializeFromZipMeta(UploadZipMeta zipMeta) { //root = new RepoFolder(""); TotalFiles = zipMeta.totalFiles; RepoFolder add = null; foreach (var file in zipMeta.files) { if (file.EndsWith("/")) //is folder { add = new RepoFolder(file); } //for now, only add folders, because we don't know if files are Dicom or labels or other //root.addFile(add); } }