Skip to content

Commit cbbe819

Browse files
committed
Use url_for() to generate dataset URLs
1 parent 33c05f6 commit cbbe819

File tree

1 file changed

+11
-14
lines changed

1 file changed

+11
-14
lines changed

lib/galaxy/webapps/galaxy/api/workflows.py

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -982,9 +982,9 @@ def export_invocation_bco(self, trans, invocation_id, **kwd):
982982

983983
# may want to extend this to have more reviewers.
984984
reviewing_users = [stored_workflow.user]
985-
workflow_encoded_id = trans.security.encode_id(stored_workflow.id)
986-
history_encoded_id = trans.security.encode_id(history.id)
987-
dict_workflow = json.loads(self.workflow_dict(trans, workflow_encoded_id))
985+
encoded_workflow_id = trans.security.encode_id(stored_workflow.id)
986+
encoded_history_id = trans.security.encode_id(history.id)
987+
dict_workflow = json.loads(self.workflow_dict(trans, encoded_workflow_id))
988988

989989
# h_contents = self.history_contents_manager.contained(history)
990990

@@ -993,7 +993,7 @@ def export_invocation_bco(self, trans, invocation_id, **kwd):
993993

994994
# listing the versions of the workflow for 'version' and 'derived_from'
995995
versions = []
996-
workflow_versions = self.workflow_manager.get_stored_accessible_workflow(trans, workflow_encoded_id)
996+
workflow_versions = self.workflow_manager.get_stored_accessible_workflow(trans, encoded_workflow_id)
997997
for i, w in enumerate(reversed(workflow_versions.workflows)):
998998
version = {
999999
'version': i,
@@ -1036,7 +1036,7 @@ def export_invocation_bco(self, trans, invocation_id, **kwd):
10361036
'name': workflow.name,
10371037
'version': current_version,
10381038
'review': reviewers,
1039-
'derived_from': url_for('workflow', id=workflow_encoded_id, qualified=True),
1039+
'derived_from': url_for('workflow', id=encoded_workflow_id, qualified=True),
10401040
'created': workflow_invocation.create_time.isoformat(),
10411041
'modified': workflow_invocation.update_time.isoformat(),
10421042
'contributors': contributors,
@@ -1050,10 +1050,7 @@ def export_invocation_bco(self, trans, invocation_id, **kwd):
10501050
if tag.user_tname not in keywords:
10511051
keywords.append(tag.user_tname)
10521052

1053-
host = 'https://localhost:8080'
10541053
input_subdomain, output_subdomain, pipeline_steps, software_prerequisites = [], [], [], []
1055-
# Which `url_for` function option would generate this format below?
1056-
url_format = '{}/api/histories/{}/contents/{}'
10571054
for i, step in enumerate(workflow_invocation.steps):
10581055
current_tool = dict_workflow['steps'][str(i)]
10591056
if step.workflow_step.type == 'tool':
@@ -1063,20 +1060,20 @@ def export_invocation_bco(self, trans, invocation_id, **kwd):
10631060
for job in step.jobs:
10641061
for job_input in job.input_datasets:
10651062
if hasattr(job_input.dataset, 'dataset_id'):
1066-
inputobj = trans.security.encode_id(job_input.dataset.dataset_id)
1063+
encoded_dataset_id = trans.security.encode_id(job_input.dataset.dataset_id)
10671064
input_obj = {
10681065
'filename': job_input.dataset.name,
1069-
'uri': url_format.format(host, history_encoded_id, inputobj),
1066+
'uri': url_for('history_content', history_id=encoded_history_id, id=encoded_dataset_id, qualified=True),
10701067
'access_time': job_input.dataset.create_time.isoformat(),
10711068
}
10721069
input_list.append(input_obj)
10731070

10741071
for job_output in job.output_datasets:
10751072
if hasattr(job_output.dataset, 'dataset_id'):
1076-
outobj = trans.security.encode_id(job_output.dataset.dataset_id)
1073+
encoded_dataset_id = trans.security.encode_id(job_output.dataset.dataset_id)
10771074
output_obj = {
10781075
'filename': job_output.dataset.name,
1079-
'uri': url_format.format(host, history_encoded_id, outobj),
1076+
'uri': url_for('history_content', history_id=encoded_history_id, id=encoded_dataset_id, qualified=True),
10801077
'access_time': job_output.dataset.create_time.isoformat(),
10811078
}
10821079
output_list.append(output_obj)
@@ -1086,7 +1083,7 @@ def export_invocation_bco(self, trans, invocation_id, **kwd):
10861083
'mediatype': job_output.dataset.extension,
10871084
'uri': {
10881085
'filename': job_output.dataset.name,
1089-
'uri': url_format.format(host, history_encoded_id, outobj) ,
1086+
'uri': url_for('history_content', history_id=encoded_history_id, id=encoded_dataset_id, qualified=True),
10901087
'access_time': job_output.dataset.create_time.isoformat(),
10911088
}
10921089
}
@@ -1135,7 +1132,7 @@ def export_invocation_bco(self, trans, invocation_id, **kwd):
11351132

11361133
execution_domain = {
11371134
'script_access_type': 'a_galaxy_workflow',
1138-
'script': [url_for('workflows', encoded_workflow_id=workflow_encoded_id)],
1135+
'script': [url_for('workflows', encoded_workflow_id=encoded_workflow_id)],
11391136
'script_driver': 'Galaxy',
11401137
'software_prerequisites': software_prerequisites,
11411138
'external_data_endpoints': [],

0 commit comments

Comments
 (0)