Gostaria de poder relatar avisos e erros ao avaliar um bloco de código Python em um arquivo Org.
Quando um bloco de código tem erros de sintaxe do Python, a Org os exibe em um buffer separado chamado *Org-Babel Error Output*
. Seria bom poder enviar meus próprios avisos para lá também, mantendo a capacidade de retornar um resultado de matriz para o modo Org como uma tabela usando :results value
.
Para ficar claro, aqui está um exemplo fictício do tipo de coisa que pensei que poderia funcionar:
#+BEGIN_SRC python
import sys
sys.stderr.write('Warning.\n')
sys.stderr.flush()
return [['Table', 'header'], ['table', 'data']]
#+END_SRC
#+RESULTS:
| Table | header |
| table | data |
Editado para adicionar: Esta discussão na lista de modo organizacional sugere que a saída de erro é exibida apenas quando a avaliação do bloco de código falha. Portanto, parece que isso é possível, mas apenas abortando a avaliação usando exit(1)
ou similar.
Respostas:
Conforme descrito por Eric Schulte na
org-mode
lista de discussão (veja o link na pergunta), podemos modificarorg-babel-eval
para conseguir isso:Agora, se
org-babel-eval-verbose
estiver definido comot
, a saída impressa no stderr durante a avaliação de um bloco de código-fonte será exibida em uma janela separada, como se a avaliação do código-fonte falhasse.fonte