Skip to content

Commit

Permalink
Merge pull request #5578 from jmchilton/opt_dyn_collect
Browse files Browse the repository at this point in the history
[18.01] Fix repeated fetching dataset permissions in dynamic output collection.
  • Loading branch information
mvdbeek committed Feb 22, 2018
2 parents d937273 + 1656c7b commit ce3b40c
Showing 1 changed file with 12 additions and 8 deletions.
20 changes: 12 additions & 8 deletions lib/galaxy/tools/parameters/output_collect.py
Original file line number Diff line number Diff line change
Expand Up @@ -192,17 +192,21 @@ def __init__(self, tool, tool_provided_metadata, job, job_working_directory, inp
self.job = job
self.job_working_directory = job_working_directory
self.tool_provided_metadata = tool_provided_metadata
self._permissions = None

@property
def permissions(self):
inp_data = self.inp_data
existing_datasets = [inp for inp in inp_data.values() if inp]
if existing_datasets:
permissions = self.app.security_agent.guess_derived_permissions_for_datasets(existing_datasets)
else:
# No valid inputs, we will use history defaults
permissions = self.app.security_agent.history_get_default_permissions(self.job.history)
return permissions
if self._permissions is None:
inp_data = self.inp_data
existing_datasets = [inp for inp in inp_data.values() if inp]
if existing_datasets:
permissions = self.app.security_agent.guess_derived_permissions_for_datasets(existing_datasets)
else:
# No valid inputs, we will use history defaults
permissions = self.app.security_agent.history_get_default_permissions(self.job.history)
self._permissions = permissions

return self._permissions

def find_files(self, output_name, collection, dataset_collectors):
filenames = odict.odict()
Expand Down

0 comments on commit ce3b40c

Please sign in to comment.