示例#1
0
 protected override void OnDelete(AbsPath path)
 {
     if (path.Extension == "" || allowedExtensions.Contains(path.Extension))
     {
         RelPath relPath = path.ReplaceAsRelativePath(srcFolder);
         Console.WriteLine($"delete '{relPath}'");
         AbsPath destPath = destFolder.Combine(relPath);
         destPath.Delete();
     }
 }
示例#2
0
 protected override void OnCreate(AbsPath path)
 {
     if (path.Extension == "" || allowedExtensions.Contains(path.Extension))
     {
         RelPath relPath  = path.ReplaceAsRelativePath(srcFolder);
         AbsPath destPath = destFolder.Combine(relPath);
         Console.WriteLine($"create '{relPath}' (from '{path.PathStr}' to '{destPath.PathStr}')");
         path.CopyToFiltered(destPath, allowedExtensions);
     }
 }
示例#3
0
 protected override void OnRename(AbsPath oldPath, AbsPath newPath)
 {
     // todo: test oldPath.Extension == "" for directory?
     if ((oldPath.Extension == "" && newPath.Extension == "") ||
         (allowedExtensions.Contains(oldPath.Extension) && allowedExtensions.Contains(newPath.Extension)))
     {
         RelPath relOldPath  = oldPath.ReplaceAsRelativePath(srcFolder);
         RelPath relNewPath  = newPath.ReplaceAsRelativePath(srcFolder);
         AbsPath destOldPath = destFolder.Combine(relOldPath);
         AbsPath destNewPath = destFolder.Combine(relNewPath);
         Console.WriteLine($"rename '{relOldPath}' as '{relNewPath}' (from '{destOldPath}' to '{destNewPath}')");
         destOldPath.RenameFullPath(destNewPath.PathStr);
     }
 }
示例#4
0
 protected override void OnChange(AbsPath path)
 {
     if (allowedExtensions.Contains(path.Extension))
     {
         RelPath relPath = path.ReplaceAsRelativePath(srcFolder);
         Console.WriteLine($"change '{relPath}'");
         AbsPath destPath = destFolder.Combine(relPath);
         if (path is FilePath srcFile)
         {
             if (destPath.Exists)
             {
                 destPath.Delete();
             }
             srcFile.CopyToFiltered(destPath, allowedExtensions);
         }
     }
 }