Sfoglia il codice sorgente

[back] fix year parsing

Innocenty Enikeew 7 anni fa
parent
commit
76151846a0
1 ha cambiato i file con 9 aggiunte e 5 eliminazioni
  1. 9 5
      back/db.lisp

+ 9 - 5
back/db.lisp

@@ -56,7 +56,9 @@
                                (abstract-tag:artist it)))
              (album-year (utils:awhen (or (abstract-tag::year it)
                                           (abstract-tag:original-date it))
-                           (parse-integer utils:it :junk-allowed t)))
+                           (etypecase utils:it
+                             (integer utils:it)
+                             (string (parse-integer utils:it :junk-allowed t)))))
              (album-title (abstract-tag:album it))
              (album-id (get-album-id album-artist album-year album-title)))
         (multiple-value-bind (album foundp)
@@ -167,10 +169,12 @@
 
 (defun clear-track-no (track-no)
   (when track-no
-    (parse-integer (if (consp track-no)
-                       (car track-no)
-                       track-no)
-                   :junk-allowed t)))
+    (let ((track (if (consp track-no)
+                     (car track-no)
+                     track-no)))
+      (etypecase track
+        (integer track)
+        (string (parse-integer track :junk-allowed t))))))
 
 (defparameter +album-type-order+ '("album" "lp" "ep" "single" "compilation" "live" "soundtrack"
                                    "spokenword" "remix" "mixed" "dj-mix" "mixtape" "broadcast")