// // Copyright (c) 2019 INRIA // #include "namespace.h" namespace curves { namespace python { bp::object getOrCreatePythonNamespace(const std::string& submodule_name) { bp::scope current_scope; std::string current_scope_name(bp::extract<const char*>(current_scope.attr("__name__"))); std::string complete_submodule_name = current_scope_name + "." + submodule_name; bp::object submodule(bp::borrowed(PyImport_AddModule(complete_submodule_name.c_str()))); current_scope.attr(submodule_name.c_str()) = submodule; return submodule; } } // namespace python } // namespace curves