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


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 18:00 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 [this message]
2013-04-11 19:15   ` Christian Moe
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=5166fa3a.054bec0a.3a8e.5d36@mx.google.com \
    --to=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).