Fix PDF content type, better publisher initialization
[pykit.git] / PythonPublisher.cc
index 56d7bc4..d71cdee 100644 (file)
@@ -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<py::dict>(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<Publisher*>(impl_->mainNamespace["publisher"]);
+        py::object initModule = py::import("init");
+        impl_->mainNamespace = py::extract<py::dict>(initModule.attr("__dict__"));
+        impl_->pythonPublisher = py::extract<Publisher*>(impl_->mainNamespace["initialize"]());
     }
     catch (boost::python::error_already_set & ex) {
         PyErr_Print();