emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Christian Moe <mail@christianmoe.com>
To: Darlan Cavalcante Moreira <darcamo@gmail.com>
Cc: news1142@Karl-Voit.at, emacs-orgmode@gnu.org
Subject: Re: [babel] sbe not working properly
Date: Thu, 11 Apr 2013 21:15:41 +0200	[thread overview]
Message-ID: <m2wqs8vpya.fsf@christianmoe.com> (raw)
In-Reply-To: <5166fa3a.054bec0a.3a8e.5d36@mx.google.com>


Hi,

I cannot replicate Karl's problem. I copied the code examples, and got
the right results on Org 8.0-pre (pulled this morning).

I did have to make one change -- Babel wouldn't recognize the variables
until I passed them with :var rather than in parens after the codeblock
name. (I saw there was some discussion on dropping the latter syntax;
whoa -- has it already happened?) But that much was clear from the error
messages I got, so Karl's problem must be something different.

Yours,
Christian

Darlan Cavalcante Moreira writes:

> I have my own difficulties using sbe and decided to try your example.
>
> I even created the shell babel block below which does the same think as the
> python code
>
>         #+NAME: epoch2dayshell(epoch=1)
>         #+begin_src sh
>         echo `date --d @$epoch -u +"[%F %a %T]"`
>         #+end_src
>
> but I got the same result. Actually, I realize a small detail.
>
> In your example, when you evaluated the table formula you got as result the
> 1970 date. However, this does not mean that your python code was
> executed. You got that answer because you have evaluated the python code
> previously with the default argument (equal to 1) and thus you had
>
>         #+RESULTS: epoch2day
>         : [1970-01-01 Thu 00:00:01]
>
> in your file. If you erase the #+RESULTS and reevaluate the table you will
> get an ERROR. That indicates that sbe is not calling the babel block as I
> (and probably you too) was expecting.
>
> However, looking at sbe's documentation I can't see anything wrong with the
> formula you wrote. I'm still confused on how to correctly use sbe.
>
> --
> Darlan
>
> At Thu, 11 Apr 2013 16:26:12 +0200,
> Karl Voit wrote:
>> 
>> Hi!
>> 
>> I want to define a babel function named epoch2day which I am able to use in a
>> table to convert UNIX epoch times to Org-mode time stamps:
>> 
>>         #+NAME: epoch2day(epoch=1)
>>         #+BEGIN_SRC python :results output
>>         time = epoch
>>         import datetime
>>         strtime = str(time)
>>         datetimestamp = datetime.datetime.utcfromtimestamp(int(strtime[:10]))
>>         print datetimestamp.strftime('[%Y-%m-%d %a %H:%M:%S]')
>>         #+END_SRC
>>         
>>         #+RESULTS: epoch2day
>>         : [1970-01-01 Thu 00:00:01]
>> 
>> ... this works so far. However, in a table I can't "overwrite" the default
>> value with a column value:
>> 
>>         |         epoch | day                       |
>>         |---------------+---------------------------|
>>         | 1262675465119 | [1970-01-01 Thu 00:00:01] |
>>         #+TBLFM: $2='(sbe epoch2day (epoch $1))
>> 
>> ... but $2 should be: [2010-01-05 Tue 07:11:05]
>> 
>> 
>> On [1] I found another example:
>> 
>>         #+name: add1(x=1) :results silent
>>         #+begin_src python
>>         return x + 1
>>         #+end_src
>>         
>>         #+RESULTS: add1
>>         : 2
>>         
>>         | foo | bar | 3 | 2 |
>>         #+TBLFM: @1$4='(sbe add1 (x $3))
>>         
>>         #+CALL: add1(x=2)
>>         
>>         #+RESULTS: add1(x=2)
>>         : 2
>> 
>> So this simple example does not work either at my side[2].
>> 
>> 
>> What is my error? Or did I found a bug?
>> 
>> Thanks!
>> 
>> 
>>   1. http://stackoverflow.com/questions/9595310/org-babel-sbe-syntax
>>   2. Org-mode 1af215bb4668bf3e778175e68fcaf from git
>> -- 
>> mail|git|SVN|photos|postings|SMS|phonecalls|RSS|CSV|XML to Org-mode:
>>        > get Memacs from https://github.com/novoid/Memacs <
>> 
>> https://github.com/novoid/extract_pdf_annotations_to_orgmode + more on github
>> 
>> 

  reply	other threads:[~2013-04-11 19:13 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-04-11 14:26 [babel] sbe not working properly Karl Voit
2013-04-11 18:00 ` Darlan Cavalcante Moreira
2013-04-11 19:15   ` Christian Moe [this message]
2013-04-12 22:22     ` Eric Schulte
2013-04-13  8:01     ` [babel] sbe not working properly (resolved) Karl Voit

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=m2wqs8vpya.fsf@christianmoe.com \
    --to=mail@christianmoe.com \
    --cc=darcamo@gmail.com \
    --cc=emacs-orgmode@gnu.org \
    --cc=news1142@Karl-Voit.at \
    /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).