can refresh data via command line
This commit is contained in:
14
main.lisp
14
main.lisp
@@ -20,12 +20,12 @@
|
|||||||
:when (string-equal current opt)
|
:when (string-equal current opt)
|
||||||
:return next))
|
:return next))
|
||||||
|
|
||||||
(defun refresh-data (data-type)
|
(defun refresh-data (data-type maybe-file-path)
|
||||||
(string-case data-type
|
(string-case data-type
|
||||||
("drops" (refresh (make-drop-data-source)))
|
("drops" (refresh (maybe-pass #'make-drop-data-source maybe-file-path)))
|
||||||
("items" (refresh (make-item-data-source)))
|
("items" (refresh (maybe-pass #'make-item-data-source maybe-file-path)))
|
||||||
("mobs" (refresh (make-mob-data-source)))
|
("mobs" (refresh (maybe-pass #'make-mob-data-source maybe-file-path)))
|
||||||
("spawns" (refresh (make-spawn-data-source)))))
|
("spawns" (refresh (maybe-pass #'make-spawn-data-source maybe-file-path)))))
|
||||||
|
|
||||||
(defun main ()
|
(defun main ()
|
||||||
(sb-ext:disable-debugger)
|
(sb-ext:disable-debugger)
|
||||||
@@ -34,7 +34,9 @@
|
|||||||
(error "Simulated error!"))
|
(error "Simulated error!"))
|
||||||
(when (find-string "--version" args)
|
(when (find-string "--version" args)
|
||||||
(print-version-information))
|
(print-version-information))
|
||||||
(when-let ((arg (get-arg "refresh"))))))
|
(when-let ((arg (get-arg "refresh" args)))
|
||||||
|
(let ((maybe-file-path (get-arg "--output" args)))
|
||||||
|
(refresh-data arg maybe-file-path)))))
|
||||||
|
|
||||||
(defun create-exe-and-die ()
|
(defun create-exe-and-die ()
|
||||||
(sb-ext:save-lisp-and-die
|
(sb-ext:save-lisp-and-die
|
||||||
|
|||||||
@@ -36,7 +36,7 @@
|
|||||||
|
|
||||||
(defun maybe-pass (func arg)
|
(defun maybe-pass (func arg)
|
||||||
"Pass ARG to FUNC if arg is not nil."
|
"Pass ARG to FUNC if arg is not nil."
|
||||||
(if (fnil)arg
|
(if (equal arg nil)
|
||||||
(funcall func arg)
|
(funcall func arg)
|
||||||
(funcall func)))
|
(funcall func)))
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user