in django_airavata/apps/api/output_views.py [0:0]
def _get_output_view_providers(experiment_output, application_interface):
output_view_providers = []
logger.debug("experiment_output={}".format(experiment_output))
if experiment_output.metaData:
try:
output_metadata = json.loads(experiment_output.metaData)
logger.debug("output_metadata={}".format(output_metadata))
if 'output-view-providers' in output_metadata:
output_view_providers.extend(
output_metadata['output-view-providers'])
except Exception:
logger.exception(
"Failed to parse metadata for output {}".format(
experiment_output.name))
# Add in any output view providers defined on the application interface
if application_interface is not None:
app_output_view_providers = _get_application_output_view_providers(
application_interface, experiment_output.name)
for view_provider in app_output_view_providers:
if view_provider not in output_view_providers:
output_view_providers.append(view_provider)
if 'default' not in output_view_providers:
output_view_providers.insert(0, 'default')
return output_view_providers