Rasmus <[email protected]> writes:
>> Why don't you just use a simple (perl/python/...) script to collect your
>> data? Here's a quick hack in perl:
>
> That was my plan if I was not able to do from within Org. To me it would
> be a lot faster than hacking something together in emacs-lisp,
> unfortunately.
If you insist on elisp, maybe something along these (untested) lines
might work:
---8<--- cut here ---
(defvar clockstable)
(defun collect-clock-lines ()
(org-narrow-to-subtree)
(let ((re (concat "^[ \t]*" org-clock-string "[ \t]+\\(.+?\\)[ \t]+=>[
\t]+\\(.+\\)"))
(headline (nth 4 (org-heading-components))))
(while (re-search-forward re)
(setq clockstable (concat clockstable (match-string 1) "|" headline "|"
(match-string 2) "\n")))))
(defun summarize-clocks ()
(interactive)
(setq clockstable "| date | headline | total |\n|-----+----+----|\n")
(org-map-entries collect-clock-lines nil 'agenda)
(insert clockstable))
--- cut here --->8---
Regards, Olaf