X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=PythonPublisher.cc;h=d71cdeeb08139f9acf278a13af328079a0335ce5;hb=fb8a1722b7e8dc898284b9faa26754336775cba3;hp=56d7bc477d6164b82718f5bcb0aa729c42c80859;hpb=5226cc819a82f279d8bcb512a5910030be265d38;p=pykit.git diff --git a/PythonPublisher.cc b/PythonPublisher.cc index 56d7bc4..d71cdee 100644 --- a/PythonPublisher.cc +++ b/PythonPublisher.cc @@ -431,19 +431,16 @@ BOOST_PYTHON_MODULE(_pykit) ; } -prefix_ pykit::PythonPublisher::PythonPublisher(std::string initPy) +prefix_ pykit::PythonPublisher::PythonPublisher() : impl_ (new Impl) { try { PYTHON_PREPARE_IMPORT(_pykit); PYTHON_PREPARE_IMPORT(_qt); Py_Initialize(); - py::object mainModule_ = py::import("__main__"); - impl_->mainNamespace = py::extract(mainModule_.attr("__dict__")); - impl_->mainNamespace["__file__"] = py::str(initPy.c_str()); - py::object ignored ( - py::exec_file(initPy.c_str(), impl_->mainNamespace, impl_->mainNamespace)); - impl_->pythonPublisher = py::extract(impl_->mainNamespace["publisher"]); + py::object initModule = py::import("init"); + impl_->mainNamespace = py::extract(initModule.attr("__dict__")); + impl_->pythonPublisher = py::extract(impl_->mainNamespace["initialize"]()); } catch (boost::python::error_already_set & ex) { PyErr_Print();