Add PDFWidget JavaScript API
[pykit.git] / PythonPublisher.cc
index 56d7bc4..b045385 100644 (file)
@@ -424,6 +424,9 @@ BOOST_PYTHON_MODULE(_pykit)
         .def("setContentType", &pykit::Request::setContentType)
         .def("setLocation", &pykit::Request::setLocation)
         .def("url", &pykit::Request::url)
+        .def("postData", &pykit::Request::postData)
+        .def("operation", &pykit::Request::operation)
+        .def("postContentType", &pykit::Request::postContentType)
         ;
 
     py::class_<PublisherPyWrapper, boost::noncopyable>("Publisher")
@@ -431,19 +434,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();