From 7e3d7ced81d70ac1544f4d94bdb22a7a8e3986c6 Mon Sep 17 00:00:00 2001 From: Marius van den Beek Date: Tue, 9 Aug 2016 12:52:14 +0200 Subject: [PATCH] Avoid changes in requested_requirements --- lib/galaxy/tools/deps/views.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/galaxy/tools/deps/views.py b/lib/galaxy/tools/deps/views.py index 7bc7e6b12f4..26c9d3bc7ad 100644 --- a/lib/galaxy/tools/deps/views.py +++ b/lib/galaxy/tools/deps/views.py @@ -1,3 +1,4 @@ +from copy import deepcopy from galaxy.exceptions import ( RequestParameterMissingException, NotImplemented @@ -126,6 +127,7 @@ class DependencyResolversView(object): return [index for index, resolver in enumerate(self._dependency_resolvers) if hasattr(resolver, "install_dependency") and not resolver.disabled ] def get_requirements_status(self, requested_requirements, installed_tool_dependencies=None): - for req in requested_requirements: - req['installed_tool_dependencies'] = installed_tool_dependencies - return [self.manager_dependency(**req) for req in requested_requirements] + dependencies = deepcopy(requested_requirements) # Make a copy to avoid changing contents of requested_requirements + for dep in dependencies: + dep['installed_tool_dependencies'] = installed_tool_dependencies + return [self.manager_dependency(**dep) for dep in dependencies]