From a8df0575dc88714ee08f65e57e74eb3ada6f248f Mon Sep 17 00:00:00 2001 From: Gertjan van den Burg Date: Wed, 25 Sep 2019 16:20:21 +0100 Subject: Update schema to always include time index --- app/utils/datasets.py | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) (limited to 'app/utils/datasets.py') diff --git a/app/utils/datasets.py b/app/utils/datasets.py index 887ad0f..db2c514 100644 --- a/app/utils/datasets.py +++ b/app/utils/datasets.py @@ -61,10 +61,21 @@ def validate_dataset(filename): return "Number of dimensions and number of series don't match" if "time" in data.keys(): - if len(data["time"]["raw"]) != data["n_obs"]: - return "Number of time points doesn't match number of observations" - if None in data["time"]["raw"]: - return "Null is not supported in time axis. Use 'NaN' instead." + if not "format" in data["time"] and "raw" in data["time"]: + return "'raw' must be accompanied by format" + if "format" in data["time"] and not "raw" in data["time"]: + return "Format must be accompanied by 'raw'" + if "index" in data["time"]: + if not data["time"]["index"][0] == 0: + return "Index should start at zero." + if not len(data["time"]["index"]) == data["n_obs"]: + return "Number of indices must match number of observations" + if "raw" in data["time"]: + if len(data["time"]["raw"]) != data["n_obs"]: + return "Number of time points doesn't match number of observations" + if None in data["time"]["raw"]: + return "Null is not supported in time axis. Use 'NaN' instead." + has_missing = False for var in data["series"]: -- cgit v1.2.3