Skip to content

Instantly share code, notes, and snippets.

@ato
Forked from Licenser/gist:a6e903ef4c7998d82d34
Created November 16, 2009 13:45
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ato/989fbc3b6972c145d1a3 to your computer and use it in GitHub Desktop.
Save ato/989fbc3b6972c145d1a3 to your computer and use it in GitHub Desktop.
(declare *session* *sftp*)
(defn sput [src dest]
(println "put" src dest)
(.put *sftp* src dest))
(defn sget [src dest]
(println "put" src dest)
(.get *sftp* src dest))
(defmacro with-sftp [& body]
`(binding [*sftp* (.openChanngel *session* "sftp")]
(.connect *sftp*)
(try
(do ~@body)
(finally (.disconnect *sftp*)))))
;; usage
(with-sftp
(sget "/blah" "/whatever")
(if something
(sput "/foo" "/")
(sput "/other" "/")))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment