[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] elpa-admin 71065aaa37: (elpaa--html-make-index): Add rank informa
From: |
Stefan Monnier |
Subject: |
[elpa] elpa-admin 71065aaa37: (elpaa--html-make-index): Add rank information |
Date: |
Tue, 5 Mar 2024 23:44:17 -0500 (EST) |
branch: elpa-admin
commit 71065aaa379088b7de2468bd693dd85476f3c50e
Author: Stefan Monnier <monnier@iro.umontreal.ca>
Commit: Stefan Monnier <monnier@iro.umontreal.ca>
(elpaa--html-make-index): Add rank information
* elpa-admin.el (elpaa--wsl-stats-file): Move.
(elpaa--html-make-index): Add rank information.
(elpaa--wsl-read): Allow rev "numbers" to end in pre/beta/alpha/...
---
elpa-admin.el | 47 ++++++++++++++++++++++++++++++-----------------
1 file changed, 30 insertions(+), 17 deletions(-)
diff --git a/elpa-admin.el b/elpa-admin.el
index 256c91c38c..effdca8139 100644
--- a/elpa-admin.el
+++ b/elpa-admin.el
@@ -40,6 +40,10 @@
"Subdirectory where the ELPA release files (tarballs, ...) will be placed.")
(defvar elpaa--devel-subdir "archive-devel/"
"Subdirectory where the ELPA bleeding edge files (tarballs, ...) will be
placed.")
+
+(defvar elpaa--wsl-stats-file "wsl-stats.eld"
+ "File where web-server access stats are kept.")
+
(defvar elpaa--name "NonGNU")
(defvar elpaa--gitrepo "emacs/nongnu.git")
(defvar elpaa--url "https://elpa.gnu.org/nongnu/")
@@ -1955,22 +1959,33 @@ arbitrary code."
(defun elpaa--html-make-index (pkgs)
(with-temp-buffer
- (insert (elpaa--html-header
- (concat elpaa--name " ELPA Packages")
- nil elpaa--index-javascript-headers))
- (insert "<table id=\"packages\">\n")
- (insert
"<thead><tr><th>Package</th><th>Version</th><th>Description</th></tr></thead>\n")
- (insert "<tbody>")
- (dolist (pkg pkgs)
- (insert (format "<tr><td><a
href=\"%s.html\">%s</a></td><td>%s</td><td>%s</td></tr>\n"
- (car pkg) (car pkg)
- (package-version-join (aref (cdr pkg) 0))
- (aref (cdr pkg) 2))))
- (insert "</tbody></table>
+ (let ((scores (and elpaa--wsl-stats-file
+ (file-readable-p elpaa--wsl-stats-file)
+ (nth 3 (elpaa--form-from-file-contents
+ elpaa--wsl-stats-file)))))
+ (insert (elpaa--html-header
+ (concat elpaa--name " ELPA Packages")
+ nil elpaa--index-javascript-headers))
+ (insert "<table id=\"packages\">\n")
+ (insert
"<thead><tr><th>Package</th><th>Version</th><th>Description</th><th>Rank</th></tr></thead>\n")
+ (insert "<tbody>")
+ (dolist (pkg pkgs)
+ (insert (format "<tr><td><a
href=\"%s.html\">%s</a></td><td>%s</td><td>%s</td><td>%s</td></tr>\n"
+ (car pkg) (car pkg)
+ (package-version-join (aref (cdr pkg) 0))
+ (aref (cdr pkg) 2)
+ ;; Average rank over all the weeks' ranks.
+ ;; FIXME: Only use the more recent weeks?
+ (let* ((ranks (and (hash-table-p scores)
+ (gethash (car pkg) scores)))
+ (total (apply #'+ (mapcar #'cdr ranks))))
+ (if (null ranks) "?"
+ (format "%d%%" (/ total (length ranks))))))))
+ (insert "</tbody></table>
<div class=\"push\"></div>
</main>")
- (insert (elpaa--html-footer))
- (write-region (point-min) (point-max) "index.html")))
+ (insert (elpaa--html-footer))
+ (write-region (point-min) (point-max) "index.html"))))
(defun elpaa-batch-html-make-index ()
(let* ((ac-file (pop command-line-args-left))
@@ -2034,7 +2049,7 @@ arbitrary code."
(seq
(+ (or digit "."))
(* (or "pre" "beta" "alpha" "snapshot")
- (+ (or digit "."))))
+ (* (or digit "."))))
"readme"))
"."
(or "tar" "txt" "el" "html"))
@@ -2052,8 +2067,6 @@ arbitrary code."
(week (/ secs 3600 24 7)))
(cl-incf (alist-get week (gethash pkg stats) 0))))))
-(defvar elpaa--wsl-stats-file "wsl-stats.eld")
-
(defvar elpaa--wsl-directory "/var/log/apache2/")
(defun elpaa--wsl-scores (table)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [elpa] elpa-admin 71065aaa37: (elpaa--html-make-index): Add rank information,
Stefan Monnier <=