git.fiddlerwoaroof.com
Raw Blame History
#!/usr/bin/env sbcl --script
(eval-when (:compile-toplevel :load-toplevel :execute)
  (load "~/quicklisp/setup.lisp"))

(eval-when (:compile-toplevel :load-toplevel :execute)
  (ql:quickload '(:cl-yaml :yason :uiop :alexandria)))

(defparameter *in-file*
  (pathname (first (uiop:command-line-arguments))))

(defparameter *out-file*
  (make-pathname :type "json"
                 :defaults *in-file*))

(format t "~a -> ~a" *in-file* *out-file*)

(defparameter *accounts-in*
  (alexandria:read-file-into-string *in-file*))

(alexandria:with-output-to-file (out *out-file* :if-exists :supersede)
  (with-open-stream (out-stream (yason:make-json-output-stream out :indent t))
    (yason:encode (cl-yaml:parse *accounts-in*)
                  out-stream)))