public List <CompareResult> LeftCompare(string leftFolder, string rightFolder) { _reference.ReportProgress(20); var jpegA = DirectoryLister.GetJPGImages(leftFolder); _reference.ReportProgress(25); var jpegB = DirectoryLister.GetJPGImages(rightFolder); _reference.ReportProgress(30); var rawCanonA = DirectoryLister.GetRawCanonImages(leftFolder); _reference.ReportProgress(35); var rawCanonB = DirectoryLister.GetRawCanonImages(rightFolder); _reference.ReportProgress(40); var rawNikonA = DirectoryLister.GetRawNilonImages(leftFolder); _reference.ReportProgress(45); var rawNikonB = DirectoryLister.GetRawNilonImages(rightFolder); _reference.ReportProgress(50); _reference.ReportProgress(60); var jpgResults = Compare(jpegA, jpegB); _reference.ReportProgress(70); var rawCanonResults = Compare(rawCanonA, rawCanonB); _reference.ReportProgress(80); var rawNilkonResults = Compare(rawNikonA, rawNikonB); _reference.ReportProgress(90); return(jpgResults.Concat(rawCanonResults).Concat(rawNilkonResults).ToList()); }
public RawModule() { this.RequiresAuthentication(); Get["/rawdata/dir/{path*}"] = x => { var p = x.path; var model = new DirectoryLister("/" + p, false).FullList2; var json = JsonConvert.SerializeObject(model); return(json); }; Get["/rawdata/dir/filelist/{path*}"] = x => { var p = x.path; var list = new DirectoryLister("/" + p, false).FullList2; var model = (from d in list where d.isFile select d.path).ToList(); return(JsonConvert.SerializeObject(model)); }; Get["/rawdata/file/content/{path*}"] = x => { var p = x.path; var model = FileSystem.ReadFile(p); return(JsonConvert.SerializeObject(model)); }; }
private List <CompareResult> Compare(string firstFolder, string secondFolder) { var results = new List <CompareResult>(); var leftFiles = DirectoryLister.GetAllFiles(firstFolder); var rightFiles = DirectoryLister.GetAllFiles(secondFolder); _reference.AddStepProgress(); foreach (string fileOrFolder in leftFiles) { if (fileOrFolder.IsFile()) { results.Add(ProcessFile(fileOrFolder, rightFiles, CompareDirection.Left)); } else if (DirectoryComparerBaseInfo.Recursive) { results.AddRange(ProcessFolder(fileOrFolder, rightFiles, CompareDirection.Left)); } } _reference.AddStepProgress(); return(results); }
public List <CompareResult> LeftCompare(string leftFolder, string rightFolder) { List <CompareResult> _leftResults = new List <CompareResult>(); List <string> leftFiles = DirectoryLister.GetAllFiles(leftFolder); List <string> rightFiles = DirectoryLister.GetAllFiles(rightFolder); _reference.ReportProgress(15); foreach (string fileOrFolder in leftFiles) { if (fileOrFolder.IsFile()) { _leftResults.Add(ProcessFile(fileOrFolder, rightFiles, CompareDirection.Left)); } else if (DirectoryComparerBaseInfo.Recursive) { _leftResults.AddRange(ProcessFolder(fileOrFolder, rightFiles, CompareDirection.Left)); } } _reference.ReportProgress(50); return(_leftResults); }
public List <CompareResult> RightCompare(string rightFolder, string leftFolder) { List <CompareResult> _rightResults = new List <CompareResult>(); List <string> leftFiles = DirectoryLister.GetAllFiles(leftFolder); List <string> rightFiles = DirectoryLister.GetAllFiles(rightFolder); _reference.ReportProgress(70); foreach (string fileOrFolder in rightFiles) { if (fileOrFolder.IsFile()) { CompareResult result = ProcessFile(fileOrFolder, leftFiles, CompareDirection.Right); if (IsNotPresent(result)) { _rightResults.Add(result); } } else if (DirectoryComparerBaseInfo.Recursive) { List <CompareResult> results = ProcessFolder(fileOrFolder, leftFiles, CompareDirection.Right); _rightResults.AddRange(GetRightOnly(results)); } } _reference.ReportProgress(90); return(_rightResults); }
/// <summary> /// Resolves the directory. /// </summary> /// <param name="path">The path.</param> /// <returns></returns> public override DirectoryItem ResolveDirectory(string path) { DirectoryInfo dir = new DirectoryInfo(path); if (!dir.Exists) { return(null); } DirectoryLister lister = new DirectoryLister(this, true, false); return(lister.GetDirectory(dir, path)); }
/// <summary> /// Resolves the root directory as tree. /// </summary> /// <param name="path">The path.</param> /// <returns></returns> public override DirectoryItem ResolveRootDirectoryAsTree(string path) { DirectoryInfo dir = new DirectoryInfo(path); if (!dir.Exists) { return(null); } string virtualName = dir.Name; string location = dir.Parent.FullName.Replace('\\', '/'); DirectoryLister lister = new DirectoryLister(this, false, true); return(lister.GetDirectory(dir, virtualName, location, path, string.Empty)); }
public override DirectoryItem ResolveRootDirectoryAsTree(string path) { string str = base.Context.Server.MapPath(path); string virtualName = (path == "/") ? string.Empty : VirtualPathUtility.GetFileName(path); string location = (path == "/") ? "/" : VirtualPathUtility.AppendTrailingSlash(VirtualPathUtility.GetDirectory(path)); DirectoryInfo dir = new DirectoryInfo(str); if (!dir.Exists) { return(null); } DirectoryLister lister = new DirectoryLister(this, false, true); return(lister.GetDirectory(dir, virtualName, location, path, string.Empty)); }
protected override bool DoInsertData(DataAction action, MarkupPointer begin, MarkupPointer end) { //hack: drive the selection textRange to the caret (before calling InsertImages) EditorContext.MarkupServices.CreateMarkupRange(begin, end).ToTextRange().select(); List <string> files = new List <string>(); DirectoryLister lister = new DirectoryLister(DataMeister.FileData.Files[0].ContentsPath, false, true); foreach (string file in lister.GetFiles()) { if (PathHelper.IsPathImage(file)) { files.Add(Path.Combine(lister.RootPath, file)); } } return(DoInsertDataCore(files, action, begin, end)); }
public static bool CanCreateFrom(DataObjectMeister data) { // see if there are files at the top-level of the file data FileData fileData = data.FileData; if (fileData != null && fileData.Files.Length == 1 && fileData.Files[0].IsDirectory) { DirectoryLister lister = new DirectoryLister(fileData.Files[0].ContentsPath, false, true); foreach (string file in lister.GetFiles()) { if (PathHelper.IsPathImage(file)) { return(true); } } } return(false); }
private List <CompareResult> ProcessFolder(string fileOrFolder, List <string> otherFiles, CompareDirection direction) { List <CompareResult> results = new List <CompareResult>(); string dirName = '\\' + fileOrFolder.GetCurrentDir(); string correspondingDir = otherFiles.SingleOrDefault(r => r.IsDirectory() && r.EndsWith(dirName)); if (correspondingDir != null) { List <string> leftFiles = DirectoryLister.GetAllFiles(fileOrFolder); List <string> cRightFiles = DirectoryLister.GetAllFiles(correspondingDir); if (leftFiles.Count == 0 && cRightFiles.Count == 0) { results.Add(ProcessEmptyDirectory(fileOrFolder, correspondingDir, direction)); } else { foreach (string fileorFolder in leftFiles) { results.AddRange(ProcessByType(fileorFolder, cRightFiles, direction)); } } } else { List <string> files = DirectoryLister.GetAllFiles(fileOrFolder); if (files.Count > 0) { foreach (var file in files) { results.AddRange(ProcessByType(file, null, direction)); } } else { results.Add(ProcessEmptyDirectory(fileOrFolder, string.Empty, direction)); } } return(results); }