From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thorsten Jolitz Subject: Re: Computations on properties Date: Wed, 09 Oct 2013 19:12:49 +0200 Message-ID: <87bo2ymkq6.fsf@gmail.com> References: <87k3hmsbsw.fsf@ericabrahamsen.net> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:56944) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VTxJv-00016J-Bc for emacs-orgmode@gnu.org; Wed, 09 Oct 2013 13:13:16 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VTxJp-0006wz-1q for emacs-orgmode@gnu.org; Wed, 09 Oct 2013 13:13:11 -0400 Received: from plane.gmane.org ([80.91.229.3]:48793) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VTxJo-0006wq-R7 for emacs-orgmode@gnu.org; Wed, 09 Oct 2013 13:13:04 -0400 Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1VTxJm-0000NO-I4 for emacs-orgmode@gnu.org; Wed, 09 Oct 2013 19:13:02 +0200 Received: from e178191060.adsl.alicedsl.de ([85.178.191.60]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 09 Oct 2013 19:13:02 +0200 Received: from tjolitz by e178191060.adsl.alicedsl.de with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 09 Oct 2013 19:13:02 +0200 List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: emacs-orgmode@gnu.org Eric Abrahamsen writes: > Thierry Pellé writes: > >> Hi, >> I'm seeking how to do something like that >> >> Let the following text inserted in an org-mode file >> >> * Mean Calculation >> :PROPERTIES: >> :VAL1: 5 >> :VAL2: 10 >> :COEF: 10 >> :END: >> >> I would like to append the result of a computation >> like RES=(VAL1*COEF+VAL2)/(COEF+1) >> >> Something like >> * Mean Calculation >> ... >> :END: >> >> Mean Calculation=RES (where RES is the value of the result) >> >> I think to do this with a python script but is there a more org-mode/emacs >> method to do it? > > Sometimes I think it would be nice to have a way to draw property values > directly into a babel block, the way you can with table data. Sort of > like: > > * Heading > :PROPERTIES: > :ID: 3f78f08a-ccca-4fc0-aba9-2a192f7a0e5a > :foo: 5 > :bar: puppy > :END: > > #+BEGIN_SRC emacs-lisp :var alist=3f78f08a-ccca-4fc0-aba9-2a192f7a0e5a > > And in the block, the "alist" variable would look like '(:foo 5 :bar > "puppy"). > > What would be even better would be to run a tags search on matching > headlines and feed all property drawers into a single block, as a list > of alists. Just thinking out loud... This is probably not really what you want, but at least somehow related. I would not know how to do this via source-block arguments, but maybe you can use the results of one source-block (that produces the data) as input for another source-block that does the real work. * Heading 1 :match: :PROPERTIES: :ID: 3f78f08a-ccca-4fc0-aba9-2a192f7a0e5a :foo: 5 :bar: puppy :END: * Heading 2 :PROPERTIES: :ID: 3f78f08a-ccca-4fc0-aba9-2a192f7a0e5b :foo: 6 :bar: yuppy :END: * Heading 3 :match: :PROPERTIES: :ID: 3f78f08a-ccca-4fc0-aba9-2a192f7a0e5c :foo: 7 :bar: hippie :END: #+begin_src emacs-lisp :results raw (let ((lst)) (org-map-entries (lambda () (cons (org-entry-properties) lst)) "match" 'file)) #+end_src #+results: ((((FILE . /home/tj/News/drafts/drafts/419) (TAGS . :match:) (ALLTAGS . :match:) (BLOCKED . ) (ID . 3f78f08a-ccca-4fc0-aba9-2a192f7a0e5a) (foo . 5) (bar . puppy) (CATEGORY . 419))) (((FILE . /home/tj/News/drafts/drafts/419) (TAGS . :match:) (ALLTAGS . :match:) (BLOCKED . ) (ID . 3f78f08a-ccca-4fc0-aba9-2a192f7a0e5c) (foo . 7) (bar . hippie) (CATEGORY . 419)))) -- cheers, Thorsten