in airavata_django_portal_sdk/queue_settings_calculators.py [0:0]
def calculate_queue_settings(calculator_id, request, experiment_model):
"""Invoke a queue settings calculator by id."""
calcs = [calc for calc in QUEUE_SETTINGS_CALCULATORS if calc.id == calculator_id]
if len(calcs) == 0:
raise LookupError(f"Could not find queue settings calculator for {calculator_id}")
calc = calcs[0]
try:
return calc.func(request, experiment_model)
except Exception as e:
raise Exception(f"Failed to calculate queue settings for {calculator_id}") from e