Thorsten Jolitz writes: > 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)))) Or maybe something like the following...