"use" serapeum and alexandria

This commit is contained in:
2026-01-03 22:01:40 -05:00
parent ac691cd181
commit 0204a521b9
6 changed files with 16 additions and 16 deletions

View File

@@ -61,7 +61,7 @@ separate csvs."
(result (make-array 0 :adjustable t :fill-pointer 0)))
(loop for row in csv
with mapname = ""
for hm = (serapeum:pairhash keys row (serapeum:dict))
for hm = (pairhash keys row (dict))
when (let ((name (gethash :monster hm)))
(and (string-not-equal "" name)
(string-not-equal "-" name)
@@ -74,7 +74,7 @@ separate csvs."
result))
(defun parse-sheet (sheet)
(let* ((lines (serapeum:lines sheet))
(let* ((lines (lines sheet))
(field (find-first-empty-field (car lines)))
(first-half (loop for line in lines
when (not (uiop:string-prefix-p ",,," line))
@@ -84,20 +84,20 @@ separate csvs."
for second-half = (second-half line field)
when (not (uiop:string-prefix-p ",,," second-half))
collect second-half))
(joined (serapeum:string-join (concatenate 'list first-half second-half) #\Newline)))
(joined (string-join (concatenate 'list first-half second-half) #\Newline)))
(csv-to-hash-tables (cl-csv:read-csv joined))))
(defun refresh-spawn-data ()
(let ((spawn-data (serapeum:pairhash
(let ((spawn-data (pairhash
(mapcar #'car *chronostory-spawn-gids*)
(mapcar (lambda (pair)
(let* ((gid (cdr pair))
(data (drakma:http-request (chronostory-spawn-url gid))))
(uiop:println (serapeum:concat "Requesting data for " (symbol-name (car pair))))
(uiop:println (concat "Requesting data for " (symbol-name (car pair))))
(parse-sheet data)))
*chronostory-spawn-gids*))))
(setf *chronostory-spawns* spawn-data)
(alexandria-2:write-string-into-file
(write-string-into-file
(shasht:write-json spawn-data nil)
"spawns.json"
:if-exists :overwrite
@@ -110,7 +110,7 @@ separate csvs."
spawn-data))
(defun load-spawn-data ()
(serapeum:if-not *chronostory-spawns*
(if-not *chronostory-spawns*
(reload-spawn-data)
*chronostory-spawns*))