[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/repology 2f8f866cfd: repology: Add `repology-collect-pr
From: |
Nicolas Goaziou |
Subject: |
[elpa] externals/repology 2f8f866cfd: repology: Add `repology-collect-projects' |
Date: |
Fri, 11 Feb 2022 03:57:58 -0500 (EST) |
branch: externals/repology
commit 2f8f866cfd21e2a9b0d3c4da84adb3c8e705f9ea
Author: Nicolas Goaziou <mail@nicolasgoaziou.fr>
Commit: Nicolas Goaziou <mail@nicolasgoaziou.fr>
repology: Add `repology-collect-projects'
* repology.el (repology-collect-projects): New function.
---
repology.el | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)
diff --git a/repology.el b/repology.el
index 3cc224f973..2267a9b1ed 100644
--- a/repology.el
+++ b/repology.el
@@ -515,6 +515,35 @@ according to the value of `repology-free-projects-only'."
(lambda (p) (eq t (repology-check-freedom p))))
result)))))
+;;;###autoload
+(defun repology-collect-projects (names)
+ "Collect a list of Repology projects by their name.
+
+NAMES is a list of project names, as strings.
+
+Project names can also be a list of strings. In that case, the
+project is named after the first element of the list and packages
+associated to subsequent names are merged into it, as if all were
+a single project. This is useful when Repology has multiple names
+from the same project, or when you want the project to be
+displayed under a different name than Repology's.
+
+Return a list of Repology projects, in the order specified in
+NAMES."
+ (mapcar (lambda (name)
+ (let* ((project
+ (pcase name
+ (`(,project . ,_) project)
+ (_ name)))
+ (packages
+ (cond
+ ((listp name)
+ (seq-mapcat #'repology-lookup-project name))
+ (t
+ (repology-lookup-project name)))))
+ (repology-project-create project packages)))
+ names))
+
;;;###autoload
(defun repology-report-problems (repository)
"List problems related to REPOSITORY.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [elpa] externals/repology 2f8f866cfd: repology: Add `repology-collect-projects',
Nicolas Goaziou <=