From f9b4828b0a04286949ac0b61af3f278a246000e6 Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Sun, 22 Jul 2018 23:40:21 +0300 Subject: Add 'build-farm-build' command * build-farm.el (build-farm-get-entries-1): Wrap a single ID entry into a list. * build-farm-build.el (build-farm-build-search-types): Add 'id' search type. (build-farm-build): New command. --- build-farm-build.el | 9 ++++++++- build-farm.el | 7 +++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/build-farm-build.el b/build-farm-build.el index 83345e8..56e8066 100644 --- a/build-farm-build.el +++ b/build-farm-build.el @@ -29,7 +29,8 @@ (require 'build-farm-url) (build-farm-define-entry-type build - :search-types '((latest . build-farm-build-latest-api-url) + :search-types '((id . build-farm-build-url) + (latest . build-farm-build-latest-api-url) (queue . build-farm-build-queue-api-url)) :filters '(build-farm-build-filter-status) :filter-names '((nixname . name) @@ -406,6 +407,12 @@ NUMBER. With prefix argument, prompt for it." build-farm-number-of-builds))) (build-farm-get-display build-farm-url 'build 'queue number)) +;;;###autoload +(defun build-farm-build (id) + "Find build by its ID and display it." + (interactive "nBuild ID: ") + (build-farm-get-display build-farm-url 'build 'id id)) + (provide 'build-farm-build) ;;; build-farm-build.el ends here diff --git a/build-farm.el b/build-farm.el index 4c72512..969b098 100644 --- a/build-farm.el +++ b/build-farm.el @@ -37,6 +37,7 @@ ;; ;; - `build-farm-latest-builds' ;; - `build-farm-queued-builds' +;; - `build-farm-build' ;; - `build-farm-jobsets' ;; - `build-farm-projects' ;; - `build-farm-project' @@ -206,6 +207,12 @@ SEARCH-TYPE and ARGS." (let* ((url (apply #'build-farm-search-url root-url entry-type search-type args)) (raw-entries (build-farm-receive-data url)) + (raw-entries (cond + ((eq search-type 'id) + ;; We expect multiple entries so wrap a single + ;; ID entry into a list. + (list raw-entries)) + (t raw-entries))) (entries (apply #'build-farm-modify-objects raw-entries (build-farm-filters entry-type)))) -- cgit v1.2.3