Browse Source

org-babel-expand-body:python

Eric Schulte 15 years ago
parent
commit
1bcafa5d9f
1 changed files with 12 additions and 9 deletions
  1. 12 9
      contrib/babel/lisp/langs/org-babel-python.el

+ 12 - 9
contrib/babel/lisp/langs/org-babel-python.el

@@ -36,23 +36,26 @@
 
 (add-to-list 'org-babel-tangle-langs '("python" "py" "#!/usr/bin/env python"))
 
+(defun org-babel-expand-body:python (body params &optional processed-params)
+  (let (vars (second (or processed-params (org-babel-process-params params))))
+    (concat
+     (mapconcat ;; define any variables
+      (lambda (pair)
+        (format "%s=%s"
+                (car pair)
+                (org-babel-python-var-to-python (cdr pair))))
+      vars "\n") "\n" (org-babel-trim body) "\n")))
+
 (defun org-babel-execute:python (body params)
   "Execute a block of Python code with org-babel.  This function is
 called by `org-babel-execute-src-block'."
   (message "executing Python source code block")
   (let* ((processed-params (org-babel-process-params params))
          (session (org-babel-python-initiate-session (first processed-params)))
-         (vars (second processed-params))
          (result-params (third processed-params))
          (result-type (fourth processed-params))
-         (full-body (concat
-                     (mapconcat ;; define any variables
-                      (lambda (pair)
-                        (format "%s=%s"
-                                (car pair)
-                                (org-babel-python-var-to-python (cdr pair))))
-                      vars "\n") "\n" (org-babel-trim body) "\n")) ;; then the source block body
-         
+         (full-body (org-babel-expand-body:python
+                     body params processed-params)) ;; then the source block body
          (result (org-babel-python-evaluate session full-body result-type)))
     (or (cdr (assoc :file params))
         (org-babel-reassemble-table