Mercurial > lasercutter
annotate src/clojureDemo/sys-utils.clj~ @ 1:6d9bdaf919f7
added clojureDemo source
author | Robert McIntyre <rlm@mit.edu> |
---|---|
date | Fri, 20 Aug 2010 00:32:44 -0400 |
parents | |
children |
rev | line source |
---|---|
rlm@1 | 1 (ns clojureDemo.sys-utils |
rlm@1 | 2 |
rlm@1 | 3 :use [clojure.contrib duck-streams str-utils shell-out] |
rlm@1 | 4 :import java.io.File |
rlm@1 | 5 ) |
rlm@1 | 6 |
rlm@1 | 7 |
rlm@1 | 8 |
rlm@1 | 9 |
rlm@1 | 10 (defn escape-spaces |
rlm@1 | 11 [string] |
rlm@1 | 12 (re-gsub #" " (str \-) string)) |
rlm@1 | 13 |
rlm@1 | 14 |
rlm@1 | 15 (defn view |
rlm@1 | 16 [string] |
rlm@1 | 17 (seq (char-array string))) |
rlm@1 | 18 |
rlm@1 | 19 (defn parent-source [target file] |
rlm@1 | 20 (File. (str target "/" (.getName (.getParentFile file))"-" (.getName file)))) |
rlm@1 | 21 |
rlm@1 | 22 |
rlm@1 | 23 (defn rsync [file1 file2] |
rlm@1 | 24 (let [*out* nil] |
rlm@1 | 25 (sh "rsync" "-avz" (str file1) (escape-spaces(str file2))))) |
rlm@1 | 26 |
rlm@1 | 27 (defn shunt-file [target file] |
rlm@1 | 28 (rsync (str file) (str (parent-source target file)))) |
rlm@1 | 29 |
rlm@1 | 30 |
rlm@1 | 31 |
rlm@1 | 32 (defn extract-files |
rlm@1 | 33 [regex source destination] |
rlm@1 | 34 |
rlm@1 | 35 (map (partial shunt-file destination) |
rlm@1 | 36 (filter (comp not nil? (partial re-matches regex) str) (file-seq source)))) |
rlm@1 | 37 |
rlm@1 | 38 (defn test-extract |
rlm@1 | 39 [] |
rlm@1 | 40 ((partial extract-files #".*\.JPG" |
rlm@1 | 41 (file-str " /home/r/Desktop/judy_yates_computer_archive/MyDocuments/dallas townhome") |
rlm@1 | 42 (file-str "/home/r/Desktop/judyates_admin/archive-source-images/")))) |
rlm@1 | 43 |
rlm@1 | 44 |
rlm@1 | 45 (defn judy-jpg-extract |
rlm@1 | 46 [] |
rlm@1 | 47 ((partial extract-files #".*\.JPG" |
rlm@1 | 48 (file-str "/home/r/Desktop/judy_yates_computer_archive") |
rlm@1 | 49 (file-str "/home/r/Desktop/judyates_admin/archive-source-images/")))) |