[Timeline] Retrieve category from archive, too

This commit is contained in:
Daniel - 2018-02-19 10:20:57 +01:00
parent 6bb5016ec2
commit 5d446edd29
Signed by: dbo
GPG Key ID: 4F63DB96D45AA9C6

View File

@ -204,13 +204,18 @@ FILES defaults to `org-agenda-files including all archives."
(sort turned-around-timeline (sort turned-around-timeline
(lambda (entry-1 entry-2) (lambda (entry-1 entry-2)
(< (car entry-1) (car entry-2)))))) (< (car entry-1) (car entry-2))))))
(defun timeline-tools-get-category-at-marker (marker)
"Return ARCHIVE_CATEGORY or CATEGORY at position given by MARKER.
Return whatever is found first."
(or (org-entry-get marker "ARCHIVE_CATEGORY")
(org-entry-get marker "CATEGORY")))
(defun timeline-tools-cluster-same-category (timeline) (defun timeline-tools-cluster-same-category (timeline)
"Cluster TIMELINE into consecutive entries with equal category. "Cluster TIMELINE into consecutive entries with equal category.
Markers to org mode tasks are combined into a list." Markers to org mode tasks are combined into a list."
(let ((new-timeline (-partition-by (lambda (entry) (let ((new-timeline (-partition-by (lambda (entry)
(let ((marker (third entry))) (let ((marker (timeline-tools-entry-marker entry)))
(org-entry-get marker "CATEGORY"))) (timeline-tools-get-category-at-marker marker)))
timeline))) timeline)))
(mapcar (lambda (cluster) (mapcar (lambda (cluster)
(list (car (car cluster)) ; start of first entry (list (car (car cluster)) ; start of first entry
@ -279,7 +284,7 @@ are queried with `org-read-date."
(dolist (cluster timeline) (dolist (cluster timeline)
(cl-destructuring-bind (start end markers) cluster (cl-destructuring-bind (start end markers) cluster
(insert (format "| %s | %s | %s | %s min | " (insert (format "| %s | %s | %s | %s min | "
(org-entry-get (car markers) "CATEGORY") (timeline-tools-get-category-at-marker (car markers))
(format-time-string "%Y-%m-%d %H:%M" start) (format-time-string "%Y-%m-%d %H:%M" start)
(format-time-string "%Y-%m-%d %H:%M" end) (format-time-string "%Y-%m-%d %H:%M" end)
(floor (/ (- end start) 60)))) (floor (/ (- end start) 60))))