diff --git a/atdb/taskdatabase/services/calculated_qualities.py b/atdb/taskdatabase/services/calculated_qualities.py index a6d89ca0ff4ae031ec8f11b143f1d39a768ab062..d956c66fa1ba6261d6074952ff5b714b7deabe80 100644 --- a/atdb/taskdatabase/services/calculated_qualities.py +++ b/atdb/taskdatabase/services/calculated_qualities.py @@ -22,7 +22,6 @@ def calculate_qualities(task, tasks_for_this_sasid, quality_thresholds): try: summary = task.quality_json["summary"] - quality = None summary_flavour = get_summary_flavour(task) @@ -35,20 +34,23 @@ def calculate_qualities(task, tasks_for_this_sasid, quality_thresholds): record = summary[key] rfi_percent = float(record['rfi_percent']) - - if rfi_percent >= 0: - quality = "good" - if rfi_percent >= quality_thresholds['moderate']: - quality = "moderate" - if rfi_percent > quality_thresholds['poor']: - quality = "poor" - return quality + return rfi_percentage_to_quality(rfi_percent, quality_thresholds['moderate'], quality_thresholds['poor']) except Exception as error: # when rfi_percentage is missing, then the quality cannot be calculated. # Just continue without it pass + def rfi_percentage_to_quality(rfi_percent, quality_treshold_moderate, quality_treshold_poor): + quality = None + if rfi_percent >= 0: + quality = "good" + if rfi_percent >= quality_treshold_moderate: + quality = "moderate" + if rfi_percent > quality_treshold_poor: + quality = "poor" + return quality + def calculate_quality_sasid(unsaved_task, tasks_for_this_sasid): """ calculate the overall quality per sas_id, based on other tasks with the same sas_id