diff --git a/src/taggingbackends/data/labels.py b/src/taggingbackends/data/labels.py index e2b93ad59c98dc9e2e86584be438592b5bcf8bb7..fc9bf9b2dc7e2ec07eff960c5a5a01f585666d62 100644 --- a/src/taggingbackends/data/labels.py +++ b/src/taggingbackends/data/labels.py @@ -177,8 +177,10 @@ class Labels: elif len(key) == 3: run, larva, timestamp = key self.set_timestep(run, larva, timestamp, value) + elif len(key) < 1: + raise IndexError("too few dimensions") else: - raise IndexError("too few of many dimensions") + raise IndexError("too many dimensions") else: run = key self.set_run(run, value) diff --git a/src/taggingbackends/main.py b/src/taggingbackends/main.py index dde5335e0a03a7620aa8a334c59bc9fb800bc636..f530b149389f3eaba15cca571a46603acb349eed 100644 --- a/src/taggingbackends/main.py +++ b/src/taggingbackends/main.py @@ -14,6 +14,7 @@ Usage: tagging-backend [train|predict] --model-instance <name> tagging-backend train ... --skip-make-dataset --skip-build-features tagging-backend predict ... --make-dataset --build-features tagging-backend predict ... --sandbox <token> + tagging-backend --help `tagging-backend` typically is run using `poetry run`. A name must be provided to identify the trained model and its location within @@ -83,9 +84,9 @@ def main(fun=None): format="%(levelname)s:%(name)s: %(message)s") if fun is None: # called by scripts/tagging-backend - if not sys.argv[1:]: + if not sys.argv[1:] or any(arg == '--help' for arg in sys.argv): help(True) - sys.exit("too few input arguments; subcommand expected: 'train' or 'predict'") + #sys.exit("too few input arguments; subcommand expected: 'train' or 'predict'") return train_or_predict = sys.argv[1] project_dir = model_instance = None