From 2fd861bf8966f4e0f00cfb46ab67f1ecc543146e Mon Sep 17 00:00:00 2001 From: davelopez <46503462+davelopez@users.noreply.github.com> Date: Thu, 21 Oct 2021 18:04:10 +0200 Subject: [PATCH] Improve error handling in DirectoryUriToolParameter validation Avoids 500 status code if the parameter has a wrong value --- lib/galaxy/tools/parameters/basic.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/galaxy/tools/parameters/basic.py b/lib/galaxy/tools/parameters/basic.py index e26ae8a013e..d085eeb73d4 100644 --- a/lib/galaxy/tools/parameters/basic.py +++ b/lib/galaxy/tools/parameters/basic.py @@ -2419,7 +2419,10 @@ class DirectoryUriToolParameter(SimpleTextToolParameter): super().validate(value, trans=trans) if not value: return # value is not set yet, do not validate - file_source = trans.app.file_sources.get_file_source_path(value).file_source + file_source_path = trans.app.file_sources.get_file_source_path(value) + file_source = file_source_path.file_source + if file_source is None: + raise ParameterValueError(f"'{value}' is not a valid file source uri.", self.name) user_context = ProvidesUserFileSourcesUserContext(trans) user_has_access = file_source.user_has_access(user_context) if not user_has_access: