From 48a02df7f40720354062890f209b733460f97458 Mon Sep 17 00:00:00 2001 From: Tanner Prestegard <tanner.prestegard@ligo.org> Date: Fri, 21 Sep 2018 11:39:20 -0500 Subject: [PATCH] Another bugfix for nan handling in eff_distance Need to make sure values are actually numeric types before just passing them to isnan(), since it can't handle them, apparently. --- gracedb/events/models.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/gracedb/events/models.py b/gracedb/events/models.py index 1c7a9c260..c7e12eae8 100644 --- a/gracedb/events/models.py +++ b/gracedb/events/models.py @@ -1,4 +1,5 @@ from math import isnan +import numbers from django.db import models, IntegrityError from django.urls import reverse @@ -989,9 +990,13 @@ class SingleInspiral(models.Model): for f in [cls._meta.get_field(f) for f in cls.field_names()]: value = getattr(row, f.attname, f.default) - # Handle nan for eff_distance - if f.attname == 'eff_distance' and isnan(value): - value = None + # Awful kludge for handling nan for eff_distance + try: + if (f.attname == 'eff_distance' and + isinstance(value, numbers.Number) and isnan(value)): + value = None + except Exception as e: + pass # Only set value of class instance member if # value is not None or if field is nullable. -- GitLab