From c4fd6754abcd1ff75f1a77b935918b7433984b66 Mon Sep 17 00:00:00 2001 From: "Edgar P. Burkhart" Date: Wed, 2 Mar 2022 14:41:27 +0100 Subject: [PATCH] Added swashrun python --- swash/config.ini | 2 ++ swash/processing/swash.py | 28 ++++++++++++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 swash/processing/swash.py diff --git a/swash/config.ini b/swash/config.ini index 8d6b9e0..ef13eee 100644 --- a/swash/config.ini +++ b/swash/config.ini @@ -13,4 +13,6 @@ psize=Psize.dat root=cache [swash] +input=sws/INPUT.sws +swashrun=/opt/swash/swash/swashrun out=out diff --git a/swash/processing/swash.py b/swash/processing/swash.py new file mode 100644 index 0000000..be20683 --- /dev/null +++ b/swash/processing/swash.py @@ -0,0 +1,28 @@ +import pathlib +import subprocess +import configparser +import shutil +import tempfile + + +config = configparser.ConfigParser() +config.read("config.ini") + +inp = pathlib.Path(config.get("swash", "input")) +out = pathlib.Path(config.get("swash", "out")) + +with tempfile.TemporaryDirectory(prefix="swash_") as tmp_raw: + tmpdir = pathlib.Path(tmp_raw) + + shutil.copy2(inp, tmpdir) + shutil.copytree( + pathlib.Path(config.get("out", "root")), tmpdir, dirs_exist_ok=True + ) + + subprocess.run( + (config.get("swash", "swashrun"), "-input", inp.name), cwd=tmpdir + ) + + if out.exists(): + shutil.rmtree(out) + shutil.copytree(tmpdir, out)