From 0d79bb47cbd68ee8ad8cc2d77df5bf05facabbef Mon Sep 17 00:00:00 2001
From: Timo Koch <timo.koch@iws.uni-stuttgart.de>
Date: Sat, 24 Jul 2021 12:15:35 +0200
Subject: [PATCH] [python][io] Improve style, add some, use wrapper helpers

---
 python/dumux/io/__init__.py | 20 ++++++++++++++------
 1 file changed, 14 insertions(+), 6 deletions(-)

diff --git a/python/dumux/io/__init__.py b/python/dumux/io/__init__.py
index 51e72bdd43..c92e22f9e6 100644
--- a/python/dumux/io/__init__.py
+++ b/python/dumux/io/__init__.py
@@ -1,9 +1,14 @@
+"""DuMux input-output library"""
+
 from dune.generator.generator import SimpleGenerator
 from dune.common.hashit import hashIt
+from dumux.wrapping import cppWrapperCreator, cppWrapperClassAlias
+
+
+@cppWrapperCreator
+def _createVtkOutputModule(*, gridVariables, solutionVector, name):
+    """Construct a VtkOutputModule"""
 
-# construct a VtkOutputModule
-# the grid geometry is JIT compiled
-def VtkOutputModule(*, gridVariables, solutionVector, name):
     includes = gridVariables._includes + solutionVector._includes
     includes += ["dumux/python/io/vtkoutputmodule.hh", "dumux/io/vtkoutputmodule.hh"]
     typeName = "Dumux::VtkOutputModule<{}, {}>".format(
@@ -11,7 +16,10 @@ def VtkOutputModule(*, gridVariables, solutionVector, name):
     )
     moduleName = "vtkoutputmodule_" + hashIt(typeName)
     generator = SimpleGenerator("VtkOutputModule", "Dumux::Python")
-    module = generator.load(
-        includes, typeName, moduleName, preamble=gridVariables._model.getProperties()
-    )
+    module = generator.load(includes, typeName, moduleName, preamble=gridVariables.model.cppHeader)
     return module.VtkOutputModule(gridVariables, solutionVector, name)
+
+
+@cppWrapperClassAlias(creator=_createVtkOutputModule)
+class VtkOutputModule:
+    """Class alias used to instantiate a VtkOutputModule"""
-- 
GitLab