emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: David Dynerman <david@block-party.net>
To: "Thomas S. Dye" <tsd@tsdye.com>
Cc: emacs-orgmode@gnu.org
Subject: Re: Only evaluate code blocks interactively, but export results
Date: Sat, 4 Apr 2015 13:55:17 -0500	[thread overview]
Message-ID: <BE278CB1-DA23-472F-9A13-0174AEB3059B@block-party.net> (raw)
In-Reply-To: <m2d23jizlk.fsf@tsdye.com>


[-- Attachment #1.1: Type: text/plain, Size: 2287 bytes --]

Hi Tom,

Does :cache yes work with #+CALL lines? I’m not able to get it to work.

I’m calling my function through #+CALL’s because I’d like to generate several figures from the same org-babel code block/

I tried adding :cache yes to:

1) The actual org-code block
2) The +CALL line, at the end
3) The +CALL line, before the argument list (i.e., my_python_function[:cache yes](…))

None of these worked - the code was still re-evaluated when I exported the file, although the +RESULTS line got a hash value.

Thank you very much,
David


> On Apr 4, 2015, at 12:15, Thomas S. Dye <tsd@tsdye.com> wrote:
> 
> Aloha David,
> 
> David Dynerman <david@block-party.net <mailto:david@block-party.net>> writes:
> 
>> Hi all,
>> 
>> I’m trying to accomplish the following:
>> 
>> 1) I have an org-babel python block in my code that produces a figure file
>> 2) I’d like to include the resulting figure HTML export of my org file
>> 3) The code takes a bit to run, so I don’t want to execute the code
>> block during each HTML export
>> 
>> What I have so far:
>> 
>> #+NAME: my_python_function
>> #+HEADER: :var some python vars
>> #+BEGIN_SRC python :results value file
>>  my python code
>> #+END_SRC
>> #+CALL: my_python_function(some python vars=values) :results value file :exports results
>> #+CAPTION: Here is a figure
>> #+LABEL: fig:an_amazing_figure
>> #+ATTR_HTML: :height 200em
>> #+RESULTS:
>> [[file:output_file]]
>> 
>> This block works when I export to HTML (e.g. the code runs, and the
>> figure is placed in the appropriate figure with the appropriate
>> caption).
>> 
>> Question: How can I modify this so that the code is only executed when
>> I run C-c C-c on the +CALL line, but still have the figure in the
>> exported HTML?
>> 
>> I tried adding :eval no-export to the code and to the +CALL line, but
>> then the resulting HTML doesn’t contain the figure (it outputs “nil”,
>> presumably because the CALL line is trying to call it, but the code is
>> refusing to run because of the no-export line)
> 
> You can set :cache yes, which can be used to avoid re-evaluating
> unchanged code blocks.
> 
> hth,
> Tom
> 
> --
> Thomas S. Dye
> http://www.tsdye.com <http://www.tsdye.com/>

[-- Attachment #1.2: Type: text/html, Size: 12134 bytes --]

[-- Attachment #2: Message signed with OpenPGP using GPGMail --]
[-- Type: application/pgp-signature, Size: 842 bytes --]

  reply	other threads:[~2015-04-04 18:55 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-04 17:03 Only evaluate code blocks interactively, but export results David Dynerman
2015-04-04 17:15 ` Thomas S. Dye
2015-04-04 18:55   ` David Dynerman [this message]
2015-04-05 18:00     ` Charles C. Berry

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=BE278CB1-DA23-472F-9A13-0174AEB3059B@block-party.net \
    --to=david@block-party.net \
    --cc=emacs-orgmode@gnu.org \
    --cc=tsd@tsdye.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).