Back to server-slide describe
[hcoop/domtool2.git] / src / slave.sml
index af8b606..3262b52 100644 (file)
@@ -200,4 +200,22 @@ fun inGroup {user, group} =
                (Posix.SysDB.Group.members (Posix.SysDB.getgrnam group))
                handle OS.SysErr _ => false
 
+fun mkDirAll dir = ignore (OS.Process.system ("mkdir -p " ^ dir))
+
+fun remove (ls, x) = List.filter (fn y => y <> x) ls
+fun removeDups ls = List.foldr (fn (x, ls) =>
+                                  if List.exists (fn y => y = x) ls then
+                                      ls
+                                  else
+                                      x :: ls) [] ls
+
+fun moveDirCreate {from, to} =
+    (mkDirAll to;
+     if Posix.FileSys.access (from, []) then
+        (ignore (OS.Process.system ("rm -rf " ^ to));
+         ignore (OS.Process.system ("cp -r " ^ from ^ " " ^ to));
+         ignore (OS.Process.system ("rm -rf " ^ from)))
+     else
+        ())
+
 end