changeset 226:382bb1d91239

maint: import standard Python names consistently * pycall.cc, pyeval.cc, pyexec.cc: Import the builtins and main namespaces consistently.
author Mike Miller <mtmiller@octave.org>
date Wed, 20 Jul 2016 11:39:23 -0700
parents 0c6f7ae8a95b
children c56b85f405ba
files pycall.cc pyeval.cc pyexec.cc
diffstat 3 files changed, 16 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- a/pycall.cc	Wed Jul 20 11:12:36 2016 -0700
+++ b/pycall.cc	Wed Jul 20 11:39:23 2016 -0700
@@ -84,15 +84,15 @@
   numeric::array::set_module_and_type ("numpy", "ndarray");
   _import_array ();
 
+  object main_module = import ("__main__");
+#if PY_VERSION_HEX >= 0x03000000
+  object builtins_module = import ("builtins");
+#else
+  object builtins_module = import ("__builtin__");
+#endif
+
   try
     {
-      object main_module = import ("__main__");
-#if PY_VERSION_HEX >= 0x03000000
-      object builtins_module = import ("builtins");
-#else
-      object builtins_module = import ("__builtin__");
-#endif
-
       object mod;
 
       if (module.empty ())
--- a/pyeval.cc	Wed Jul 20 11:12:36 2016 -0700
+++ b/pyeval.cc	Wed Jul 20 11:39:23 2016 -0700
@@ -72,13 +72,17 @@
 
   object main_module = import ("__main__");
   object main_namespace = main_module.attr ("__dict__");
+#if PY_VERSION_HEX >= 0x03000000
+  object builtins_module = import ("builtins");
+#else
+  object builtins_module = import ("__builtin__");
+#endif
 
   try
     {
       res = eval (code.c_str (), main_namespace, main_namespace);
-      object builtins = main_module.attr ("__builtins__");
       // hex(id(res))
-      object idtmp = builtins.attr("hex")(builtins.attr("id")(res));
+      object idtmp = builtins_module.attr("hex")(builtins_module.attr("id")(res));
       id = extract<std::string> (idtmp);
 
       // FIXME: currently, we cannot return the raw object to octave...
--- a/pyexec.cc	Wed Jul 20 11:12:36 2016 -0700
+++ b/pyexec.cc	Wed Jul 20 11:39:23 2016 -0700
@@ -66,11 +66,11 @@
 
   Py_Initialize ();
 
+  object main_module = import ("__main__");
+  object main_namespace = main_module.attr ("__dict__");
+
   try
     {
-      object main_module = import ("__main__");
-      object main_namespace = main_module.attr ("__dict__");
-
       // FIXME: figure out exec return code:
       // http://www.boost.org/doc/libs/1_38_0/libs/python/doc/v2/exec.html
       exec (code.c_str (), main_namespace, main_namespace);