Make Chronometrist query for running

This commit is contained in:
contrapunctus 2021-12-29 20:37:36 +05:30
parent 1ad9b02f1a
commit eba98d6df5
1 changed files with 44 additions and 0 deletions

View File

@ -1186,6 +1186,50 @@ Unique key-values for task "Exercise"
(emacs-lisp-mode)
(switch-to-buffer buffer))))
#+END_SRC
Time spent running since the 13th of December.
#+BEGIN_SRC emacs-lisp :tangle no :load no
(cl-loop for plist in (chronometrist-to-list (chronometrist-active-backend))
with count = 0
with start = (parse-iso8601-time-string "2021-12-13")
when
(and (plist-get plist :running)
(time-less-p start (parse-iso8601-time-string
(plist-get plist :start))))
collect
(let* ((plist (copy-list plist))
(duration-seconds (chronometrist-interval plist))
(start (plist-get plist :start))
(distance (plist-get plist :running))
(distance-int (car distance))
(distance-km (/ (float distance-int) 1000))
(duration-hours (/ (float duration-seconds) 60 60))
(distance-string (format "%s %s" distance-int (cdr distance))))
(format "%s - %s in %s (%s)\n"
(seq-take start 10)
distance-string
(ts-human-format-duration duration-seconds)
(format "%.2f kmph" (/ distance-km duration-hours)))) into strings
finally return
(cl-loop for string in (reverse strings)
count string into index
concat (format "%2s. %s" index string))
;; ;; plists
;; collect
;; (let* ((plist (copy-list plist))
;; (duration-seconds (chronometrist-interval plist))
;; (start (plist-get plist :start))
;; (distance-int (car (plist-get plist :running)))
;; (distance-km (/ (float distance-int) 1000))
;; (duration-hours (/ (float duration-seconds) 60 60)))
;; (plist-put plist :duration (ts-human-format-duration duration-seconds))
;; (plist-put plist :speed (format "%.2f kmph" (/ distance-km duration-hours)))
;; (--> (list :date (seq-take start 10))
;; (append it plist)
;; (chronometrist-plist-remove it :name :start :stop)))
)
#+END_SRC
** WISH emms
1. [ ] make toggle command for emms-start/emms-stop
2. [ ] change mode line display - don't show the whole file path, just the name