diff --git a/src/one-body-sample.cc b/src/one-body-sample.cc index 4c87a25faebf60c38eb18aa4d01a02bab7177c55..1e2acf3d8c7199f0809d16da192bc4894e205622 100644 --- a/src/one-body-sample.cc +++ b/src/one-body-sample.cc @@ -176,20 +176,23 @@ initStateUpdater(Config::state_model model, } } +template <class FunctionMap> void initPython(FunctionMap &functions) { + Python::start(); + + Python::run("import sys"); + Python::run("sys.path.append('" srcdir "')"); + + Python::import("one-body-sample") + .get("Functions") + .toC<typename FunctionMap::Base>(functions); +} + int main(int argc, char *argv[]) { try { typedef SharedPointerMap<std::string, Dune::VirtualFunction<double, double>> FunctionMap; FunctionMap functions; - { - Python::start(); - - Python::run("import sys"); - Python::run("sys.path.append('" srcdir "')"); - - Python::import("one-body-sample").get("Functions").toC<FunctionMap::Base>( - functions); - } + initPython(functions); Dune::ParameterTree parset; Dune::ParameterTreeParser::readINITree(srcdir "/one-body-sample.parset",