X-Git-Url: https://code.consxy.com/gitweb/gitweb.cgi?a=blobdiff_plain;f=src%2Fmain%2Fcli.lisp;h=bacd1e3d62c7d15a6ede410728b02b0e84fb24a9;hb=d7f08bad7f5d32edb80f2e1468eff32c50166a94;hp=fb38f58570b0e4e47790a83ee76c4b214239bb63;hpb=10415e960ac74f2c07f693295b063c586ccc608f;p=candle diff --git a/src/main/cli.lisp b/src/main/cli.lisp index fb38f58..bacd1e3 100644 --- a/src/main/cli.lisp +++ b/src/main/cli.lisp @@ -10,11 +10,12 @@ (error-and-exit "Unknown command '~(~A~)'. See 'candle --help'.~%" command)) (defun job-info->line (job-info) - (format nil "~A (~A) ~A" - (subseq (first job-info) 0 8) + (format nil "~A:~A (~A) ~A" + (first job-info) + (subseq (second job-info) 0 8) (format nil "~{~2,,,'0@A/~2,,,'0@A/~A ~2,,,'0@A:~2,,,'0@A~}" - (utils:time-as-list (third job-info) :month :date :year :hr :min)) - (case (second job-info) + (utils:time-as-list (fourth job-info) :month :date :year :hr :min)) + (case (third job-info) (:succeeded (format nil "~c[1;32mPassed~c[0m" #\Esc #\Esc)) (:failed (format nil "~c[1;31mFailed~c[0m" #\Esc #\Esc)) (:queued "In queue") @@ -147,7 +148,7 @@ (format t (format nil "~~~A@A: ~~A~~%" width) (first branch-info) (job-info->line (second branch-info)))) - (sort branch-infos #'< :key (lambda (branch-info) (third (second branch-info))))))))) + (sort branch-infos #'< :key (lambda (branch-info) (fourth (second branch-info))))))))) (defun refresh-project (args) (let @@ -159,7 +160,14 @@ (format t "Refreshed project ~A~%" (car remaining-args))))) (defun list-projects () - (format t "~{~{~A ~A~}~%~}" (communication:query `(candle:list-projects)))) + (format t "~{~A~%~}" + (mapcar + (lambda (info) + (format nil "~A ~A~A" + (car info) + (cadr info) + (if (zerop (caddr info)) "" (format nil " (~A branches ~c[1;31mfailing~c[0m)" (caddr info) #\Esc #\Esc)))) + (communication:query `(candle:list-projects))))) (defun project-failures (args) (let @@ -205,7 +213,7 @@ (format t "~{~A~%~}" (mapcar #'job-info->line - (sort (communication:query `(candle:project-job-information ,(opera:option-argument :project parsed-options))) #'< :key #'third)))))) + (sort (communication:query `(candle:project-job-information ,(opera:option-argument :project parsed-options))) #'< :key #'fourth)))))) (defun decompose-job-definition (job-definition) (let