Innocenty Enikeew 5 лет назад
Родитель
Сommit
36f6c1a408
1 измененных файлов с 6 добавлено и 5 удалено
  1. 6 5
      plugins/aoc.lisp

+ 6 - 5
plugins/aoc.lisp

@@ -29,14 +29,15 @@
   (max 0 (min 25 (- 25 (ceiling (/ (- +advent-time+ (get-universal-time)) 86400))))))
   (max 0 (min 25 (- 25 (ceiling (/ (- +advent-time+ (get-universal-time)) 86400))))))
 
 
 (defun format-stars(completions)
 (defun format-stars(completions)
-  (format nil "~{~a~^ ~}" (loop for daynum from 1 to (get-advent-days-active)
-                            collect (cond ((= 1 (length (agets completions (write-to-string daynum)))) "☆")
-                                      ((= 2 (length (agets completions (write-to-string daynum)))) "★")
-                                      (:otherwise "•")))))
+  (format nil "~{~a~}" (loop for daynum from 1 to (get-advent-days-active)
+                          for stars = (length (agets completions (write-to-string daynum)))
+                          collect (case stars (1 "☆") (2 "★") (t " • ")))))
 
 
 (defun format-leaderboard (json)
 (defun format-leaderboard (json)
   (let ((sorted (sort (loop for (uid . member) in (agets json "members")
   (let ((sorted (sort (loop for (uid . member) in (agets json "members")
-                         collect (list (agets member "name") (agets member "local_score") (format-stars (agets member "completion_day_level"))))
+                         collect (list (agets member "name")
+                                       (agets member "local_score")
+                                       (format-stars (agets member "completion_day_level"))))
                       #'> :key #'second)))
                       #'> :key #'second)))
     (format nil "🏆***Chad AoC Leaderboard***🏆~%~a~%~%~{~a. ~a: ~a ~% ~a~^~%~}" +leader-board-link+
     (format nil "🏆***Chad AoC Leaderboard***🏆~%~a~%~%~{~a. ~a: ~a ~% ~a~^~%~}" +leader-board-link+
             (apply 'append (mapcar #'cons (alexandria:iota (length sorted) :start 1) sorted)))))
             (apply 'append (mapcar #'cons (alexandria:iota (length sorted) :start 1) sorted)))))