[chronometrist] add more example queries
This commit is contained in:
parent
8f5ef93023
commit
8484fff8b3
38
init.org
38
init.org
|
@ -721,10 +721,42 @@ An example of querying the Chronometrist file data - finding out how much time I
|
|||
sum (chronometrist-interval plist) into seconds
|
||||
and do (cl-incf count)
|
||||
finally return
|
||||
(format "%s over %s days."
|
||||
(ts-human-format-duration seconds)
|
||||
count))
|
||||
(unless (zerop seconds)
|
||||
(format "%s over %s days."
|
||||
(ts-human-format-duration seconds)
|
||||
count)))
|
||||
#+END_SRC
|
||||
|
||||
Intervals and durations for task Exercise.
|
||||
#+BEGIN_SRC emacs-lisp :tangle no :load no
|
||||
(chronometrist-loop-file for plist in chronometrist-file
|
||||
with count = 0
|
||||
when
|
||||
(equal (plist-get plist :name) "Exercise")
|
||||
collect
|
||||
(let* ((plist (copy-list plist))
|
||||
(interval-seconds (chronometrist-interval plist))
|
||||
(start (plist-get plist :start)))
|
||||
(plist-put plist :duration (ts-human-format-duration interval-seconds))
|
||||
(plist-put plist :date (seq-take start 10))
|
||||
(chronometrist-plist-remove plist :start :stop)))
|
||||
#+END_SRC
|
||||
|
||||
Unique key-values for task "Exercise"
|
||||
#+BEGIN_SRC emacs-lisp :tangle no :load no
|
||||
(chronometrist-loop-file for plist in chronometrist-file
|
||||
when
|
||||
(equal (plist-get plist :name) "Exercise")
|
||||
collect (chronometrist-plist-key-values plist) into key-values
|
||||
finally do
|
||||
(let ((buffer (get-buffer-create (generate-new-buffer-name "chronometrist-query"))))
|
||||
(with-current-buffer buffer
|
||||
(->> (cl-remove-duplicates key-values)
|
||||
(seq-filter #'identity)
|
||||
(format "%S")
|
||||
(insert))
|
||||
(emacs-lisp-mode)
|
||||
(switch-to-buffer buffer))))
|
||||
#+END_SRC
|
||||
*** WISH emms
|
||||
1. [ ] make toggle command for emms-start/emms-stop
|
||||
|
|
Loading…
Reference in New Issue