From d2ff60381b82153f2a874438721d8d287fce2879 Mon Sep 17 00:00:00 2001
From: Elias Pipping <elias.pipping@fu-berlin.de>
Date: Thu, 11 Jul 2013 17:51:57 +0200
Subject: [PATCH] [Cleanup] Rearrange Python initialisation

---
 src/one-body-sample.cc | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/src/one-body-sample.cc b/src/one-body-sample.cc
index 92592b87..724606f7 100644
--- a/src/one-body-sample.cc
+++ b/src/one-body-sample.cc
@@ -134,15 +134,11 @@ initStateUpdater(Config::state_model model,
   }
 }
 
-template <class FunctionMap> void initPython(FunctionMap &functions) {
+void initPython() {
   Python::start();
 
   Python::run("import sys");
   Python::run("sys.path.append('" srcdir "')");
-
-  Python::import("one-body-sample")
-      .get("Functions")
-      .toC<typename FunctionMap::Base>(functions);
 }
 
 double computeCOF(FrictionData const &fd, double V, double log_state) {
@@ -246,8 +242,14 @@ int main(int argc, char *argv[]) {
 
     // Set up functions for time-dependent boundary conditions
     using FunctionType = Dune::VirtualFunction<double, double>;
-    SharedPointerMap<std::string, FunctionType> functions;
-    initPython(functions);
+    using FunctionMap = SharedPointerMap<std::string, FunctionType>;
+    FunctionMap functions;
+    {
+      initPython();
+      Python::import("one-body-sample")
+          .get("Functions")
+          .toC<typename FunctionMap::Base>(functions);
+    }
     auto const &velocityDirichletFunction =
         functions.get("velocityDirichletCondition");
     auto const &neumannFunction = functions.get("neumannCondition");
-- 
GitLab