Expose the Parser class properly to Python

This commit is contained in:
Joakim Hove
2019-09-04 14:42:52 +02:00
parent 1d8f07fe62
commit 7984d2a0f4
9 changed files with 103 additions and 16 deletions

View File

@@ -0,0 +1,27 @@
#include <opm/parser/eclipse/Parser/ParseContext.hpp>
#include <opm/parser/eclipse/Deck/Deck.hpp>
#include <pybind11/stl.h>
#include "common_state.hpp"
#include "common.hpp"
namespace {
void (ParseContext::*ctx_update)(const std::string&, InputError::Action) = &ParseContext::update;
}
void opmcommon_python::export_ParseContext(py::module& module) {
py::class_< ParseContext >(module, "ParseContext" )
.def(py::init<>())
.def(py::init<const std::vector<std::pair<std::string, InputError::Action>>>())
.def( "update", ctx_update );
py::enum_< InputError::Action >( module, "action" )
.value( "throw", InputError::Action::THROW_EXCEPTION )
.value( "warn", InputError::Action::WARN )
.value( "ignore", InputError::Action::IGNORE );
}