From mboxrd@z Thu Jan 1 00:00:00 1970 From: Micah Anderson Subject: Re: monthly report Date: Tue, 17 Mar 2009 15:38:15 -0400 Message-ID: <87hc1sdjo8.fsf@pond.riseup.net> References: <86ps4pbrxy.fsf@bitty.lumos.us> <7b72afe87a251d7615438346906a6f1f@science.uva.nl> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Ljfqf-0002Bf-Gk for emacs-orgmode@gnu.org; Tue, 17 Mar 2009 16:25:17 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Ljfqa-0002AP-Hu for emacs-orgmode@gnu.org; Tue, 17 Mar 2009 16:25:16 -0400 Received: from [199.232.76.173] (port=35168 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LjfqZ-0002A1-4t for emacs-orgmode@gnu.org; Tue, 17 Mar 2009 16:25:12 -0400 Received: from main.gmane.org ([80.91.229.2]:48763 helo=ciao.gmane.org) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1LjfqY-0002LZ-3x for emacs-orgmode@gnu.org; Tue, 17 Mar 2009 16:25:10 -0400 Received: from root by ciao.gmane.org with local (Exim 4.43) id 1LjfqR-0002m7-7k for emacs-orgmode@gnu.org; Tue, 17 Mar 2009 20:25:03 +0000 Received: from user-12lc0n3.cable.mindspring.com ([69.86.2.227]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 17 Mar 2009 20:25:03 +0000 Received: from micah by user-12lc0n3.cable.mindspring.com with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 17 Mar 2009 20:25:03 +0000 List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: emacs-orgmode@gnu.org Hi all, apologies for resurrecting an older thread, but I was searching for this very capability and found this post. Carsten Dominik writes: > On May 25, 2007, at 3:41, Steven Lumos wrote: > >> Being yet another planner switcher, I'm used to using planner-report- >> generate to assist me with writing a monthly activity report. I don't >> need fine-grained time tracking, or even most of what planner-report- >> generate does--it would be ideal to get just a list of TODOs that were >> closed between two dates and then I'll look at it while I type a few >> sentences in an email buffer. >> >> Is there already an easy way to "get a list" (I guess that a sparse >> tree would be most convenient for me) of TODOs marked as closed within >> some date range? I have been trying to figure this one out myself. Thank goodness for list archives! > You can use org-occur to create a tree with matches of CLOSED time > stamps. > And you can use the callback argument of org-occur to verify if a > match is in a given time interval. Something like this: > > (defun org-closed-in-range () > "Sparse treee of items closed in a certain time range." > (interactive) > ;; Get the time interval from the user. > (let* ((time1 (time-to-seconds > (org-read-date nil 'to-time nil "Starting date: "))) > (time2 (time-to-seconds > (org-read-date nil 'to-time nil "End date:"))) > ;; callbakc function > (callback (lambda () > (let ((time > (time-to-seconds > (apply 'encode-time > (org-parse-time-string > (match-string 1)))))) > ;; check if time in interval > (and (>= time time1) (<= time time2)))))) > ;; make tree, check each match with the callback > (org-occur "CLOSED: +\\[\\(.*?\\)\\]" nil callback))) Ok, I tried this and I'm not sure what it did, if anything. I get the mini-buffer saying, 'Specified time is not representable' I've tried various date range possibilities, and can't get it to work. I did also change the '(org-occur "CLOSED: +\\[\\(.*?\\)\\]" nil callback)))' to be instead '(org-occur "DONE +\\[\\(.*?\\)\\]" nil callback)))' due to the way my org seems to represent finished items: ** DONE fix the apt puppet module to automatically add apt-keys, publish that new repository and deploy SCHEDULED: <2009-03-16 Mon> - State "DONE" [2009-03-16 Mon 14:49] \\ made this a lot nicer CLOCK: [2009-03-16 Mon 14:21]--[2009-03-16 Mon 14:21] => 0:00 [2009-03-16 Mon] As far as I can tell, I did not setup this format. I tried to change the (org-occur "CLOSED... to be "DONE..." instead, but no change here either. Thanks for any help! micah