def calculate_queue_settings()

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