Re: [C++-sig] boost::python embedding return value

2010-03-04 Thread Stefan Seefeld
On 03/04/2010 01:59 PM, Neal Becker wrote: OK. I had assumed, since it returned an object, that I could call a function and get back the python result. I didn't use eval, because eval is restricted to 1 expression, and so couldn't do something like: ''' sys.path.append('./') import module modu

Re: [C++-sig] boost::python embedding return value

2010-03-04 Thread Neal Becker
Stefan Seefeld wrote: > Neal, > > I should have read your mail more carefully before replying. Sorry for > that. > > > On 03/04/2010 01:35 PM, Neal Becker wrote: >> Stefan Seefeld wrote: >> >> >>> On 03/04/2010 11:59 AM, Neal Becker wrote: >>> int main () { Py_Initialize

Re: [C++-sig] boost::python embedding return value

2010-03-04 Thread Stefan Seefeld
Neal, I should have read your mail more carefully before replying. Sorry for that. On 03/04/2010 01:35 PM, Neal Becker wrote: Stefan Seefeld wrote: On 03/04/2010 11:59 AM, Neal Becker wrote: int main () { Py_Initialize(); object main_module = import("__main__"); objec

Re: [C++-sig] boost::python embedding return value

2010-03-04 Thread Neal Becker
Stefan Seefeld wrote: > On 03/04/2010 11:59 AM, Neal Becker wrote: >> int main () { >>Py_Initialize(); >> >>object main_module = import("__main__"); >>object main_namespace = main_module.attr("__dict__"); >> >>try { >> object result = exec ("import sys\n" >> "sys.path.append('

Re: [C++-sig] boost::python embedding return value

2010-03-04 Thread Stefan Seefeld
On 03/04/2010 11:59 AM, Neal Becker wrote: int main () { Py_Initialize(); object main_module = import("__main__"); object main_namespace = main_module.attr("__dict__"); try { object result = exec ("import sys\n" "sys.path.append('./')\n"

[C++-sig] boost::python embedding return value

2010-03-04 Thread Neal Becker
int main () { Py_Initialize(); object main_module = import("__main__"); object main_namespace = main_module.attr("__dict__"); try { object result = exec ("import sys\n" "sys.path.append('./')\n" "import test_embed\n"

Re: [C++-sig] dict.has_key works in a Python script, not in C++

2010-03-04 Thread Guillaume Seguin
Great : implementing __hash__ *and* operator==() did the trick ! My implementation uses this int hello::__hash__() const { //Using Duff's device version of sdbm hash func return dbm_hash(country.c_str(), country.length()); } bool hello::operator == (const hello &h) const { return __ha