;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; Base: 10 -*- (declaim (optimize (speed 0) (safety 3) (debug 3))) (in-package #:music-dispensary) ;; ========================================================================== ;; (defun mkdir (path) (uffi:run-shell-command (format nil "mkdir -p ~a" path))) (defun file-exists-p (file-path) (equal (car (shell-wrapper (format nil "if test -f '~a'; then echo 0; else echo 1; fi" file-path))) "0")) (defun directory-p (absolute-path) (if (car (shell-wrapper (format nil "file '~a' |grep 'directory'" absolute-path))) t nil)) (defun symlink-p (absolute-path) (if (car (shell-wrapper (format nil "file '~a' |grep 'symbolic link'" absolute-path))) t nil)) (defun file-p (absolute-path) (if (or (directory-p absolute-path) (symlink-p absolute-path)) nil t)) (defun find-files (working-dir base-dir pattern) (shell-wrapper (format nil "pushd ~a >/dev/null 2>&1 ; find ~a -iname '~a' ; popd >/dev/null 2>&1" working-dir base-dir pattern)))