From d270bc59f1cb37507f6f2a8da734beb62844e5fe Mon Sep 17 00:00:00 2001
From: Andi Gerken <andi.gerken@gmail.com>
Date: Mon, 14 Dec 2020 17:41:44 +0100
Subject: [PATCH] Convert Moritz: don't try to save if not valid.

---
 src/conversion_scripts/convert_moritz.py | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/conversion_scripts/convert_moritz.py b/src/conversion_scripts/convert_moritz.py
index b653382..5abddb9 100644
--- a/src/conversion_scripts/convert_moritz.py
+++ b/src/conversion_scripts/convert_moritz.py
@@ -35,7 +35,8 @@ for f in tqdm(files):
     # print("Handling file %s" % f.relative_to(input))
 
     old = h5py.File(f)
-    new = robofish.io.File(world_size=old.attrs["world"])
+    world = old.attrs["world"] if "world" in old.attrs else [100, 100]
+    new = robofish.io.File(world_size=world)
 
     new.attrs.update(
         {a: old.attrs[a] for a in old.attrs.keys() if a not in ["world", "time_step"]}
@@ -48,6 +49,11 @@ for f in tqdm(files):
             poses=e_data,
             monotonic_step=old.attrs["time_step"],
         )
+    if not new.validate(strict_validate=False)[0]:
+        print(
+            f"File {input.relative_to(input)} could not be converted to a valid file. The error was:\n {new.validate(strict_validate=False)[1]}."
+        )
+        continue
 
     new.save(output / f.relative_to(input))
     # print("Saved converted file")
-- 
GitLab