Hi, I'm not sure this is relevant (sorry, no time to look closely), but a couple weeks ago I fixed a bug in exec.cpp:
------------------------------------------------------------------------ r55639 | rwgk | 2009-08-17 17:24:54 -0700 (Mon, 17 Aug 2009) | 8 lines libs/python/src/exec.cpp: bug fixes Remark: operator!() for boost::python::object invokes PyObject_IsTrue() and is therefore not equivalent to "is None". In this particular case !global or !local returns true for an empty dict. (Changes to libs/python/test/exec.cpp just helped in debugging.) ------------------------------------------------------------------------ This made it into the 1.40.0 release. I recommend you work with the current trunk or the latest release. Ralf ----- Original Message ---- From: Constant Dupuis <constant.dup...@gmail.com> To: cplusplus-sig@python.org Sent: Thursday, September 3, 2009 12:12:07 AM Subject: [C++-sig] Embending : Expose and Extract a dictionary object To/From C++ Hi, I would like to expose a dictionary object instanciated in C++ to a Python code, which manipulate the dictoinary. And after extract the resulting modified dictionary back in C++. I try this : try { Py_Initialize(); std::cout << "Hello, World!\n"; dict d; d["Headline"] = "Titre"; object main_module = import("__main__"); object main_namespace = main_module.attr("__dict__"); main_namespace["iptc"] = ptr(&d); object ignored = exec("print('Headline')\n" "print(iptc['Headline'])\n", main_namespace); } catch( error_already_set ) { PyErr_Print(); } And here is hte output : Hello, World! Headline Traceback (most recent call last): File "<string>", line 2, in <module> TypeError: 'NoneType' object is unsubscriptable What did I missed ? Thanks en regards, Constant _______________________________________________ Cplusplus-sig mailing list Cplusplus-sig@python.org http://mail.python.org/mailman/listinfo/cplusplus-sig _______________________________________________ Cplusplus-sig mailing list Cplusplus-sig@python.org http://mail.python.org/mailman/listinfo/cplusplus-sig