summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--rt-liberation-report.el20
1 files changed, 9 insertions, 11 deletions
diff --git a/rt-liberation-report.el b/rt-liberation-report.el
index d6f8182..b5bd0b0 100644
--- a/rt-liberation-report.el
+++ b/rt-liberation-report.el
@@ -57,8 +57,7 @@ return `nil'."
"Convert TICKET-ALIST to set format."
(let ((date-resolved (cdr (assoc "Resolved" ticket-alist)))
(owner (cdr (assoc "Owner" ticket-alist))))
- `(,(format-time-string "%s" (date-to-time date-resolved))
- . ,owner)))
+ `(,(float-time (date-to-time date-resolved)) . ,owner)))
(defun rt-liber-report-scan-interval (interval)
"Convert the list of tickets into an ordered format."
@@ -66,16 +65,17 @@ return `nil'."
(error "no tickets in interval"))
(let ((l (copy-tree interval))
(r nil))
-
- ;; the solution is to first convert to seconds, then sort, then
- ;; finally convert to YYYY-MM-DD format
-
(while l
(setq r (append r `(,(rt-liber-report-scan-ticket (car l)))))
(setq l (cdr l)))
+ ;; sort the list when it is still in seconds format
(setq r (sort r
#'(lambda (a b)
- (string-lessp (car a) (car b)))))
+ (< (car a) (car b)))))
+ ;; change the sorted list by day-date format, so that we can
+ ;; pigeon-hole count by day later on
+ (dolist (e r)
+ (setcar e (format-time-string "%Y-%m-%d" (car e))))
r))
(defun rt-liber-report-count (f l)
@@ -119,10 +119,8 @@ return `nil'."
(defun rt-liber-report (rt-queue start-date end-date)
"Print tickets resolved between START-DATE and END-DATE."
(let ((tickets (rt-liber-report-scan-interval
- ;; (rt-liber-report-get-interval
- ;; rt-queue start-date end-date)
- __foo
- ))
+ (rt-liber-report-get-interval
+ rt-queue start-date end-date)))
by-date by-owner
by-date-out
by-owner-out