From 5981ecb60cdc11e6b28d2ba11e774a5065e685e2 Mon Sep 17 00:00:00 2001
From: Alexander Pace <alexander.pace@ligo.org>
Date: Mon, 10 Feb 2020 06:57:11 -0600
Subject: [PATCH] Add support for Swift GRB FAR

In support of: https://git.ligo.org/lscsoft/gracedb/merge_requests/32

Ingests a 'FAR' field in Hz and adds it to the event data model. If
the field is present, then show it in the GRB event table on the
detail page.
---
 Dockerfile                                      | 1 +
 gracedb/events/translator.py                    | 7 +++++++
 gracedb/templates/gracedb/event_detail_GRB.html | 3 +++
 3 files changed, 11 insertions(+)

diff --git a/Dockerfile b/Dockerfile
index 5ef4cf53d..b0934dcb2 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -33,6 +33,7 @@ RUN apt-get update && \
         supervisor \
         libssl-dev \
         swig \
+        htop \
         vim && \
     apt-get clean && \
     npm install -g bower
diff --git a/gracedb/events/translator.py b/gracedb/events/translator.py
index 7aa442be7..521ddecfc 100644
--- a/gracedb/events/translator.py
+++ b/gracedb/events/translator.py
@@ -646,5 +646,12 @@ def populateGrbEventFromVOEventFile(filename, event):
             break
     event.trigger_id = trigger_id
 
+    # Check for the existance of FAR in the VOEvent_params. if it exists,
+    # Then add it to the event. This change was made on 2/7/2020 in support
+    # of SWIFT event uploads. Note: FAR is in Hz.
+
+    if ('FAR' in VOEvent_params):
+        event.far = float(VOEvent_params.get('FAR').get('value'))
+
     # Save event
     event.save()
diff --git a/gracedb/templates/gracedb/event_detail_GRB.html b/gracedb/templates/gracedb/event_detail_GRB.html
index 29f3aba0b..11ced3472 100644
--- a/gracedb/templates/gracedb/event_detail_GRB.html
+++ b/gracedb/templates/gracedb/event_detail_GRB.html
@@ -74,6 +74,9 @@
         {% if object.trigger_duration %}
 		<tr><th>Trigger duration</th><td colspan="2">{{object.trigger_duration}}</td></tr>
         {% endif %}
+        {% if object.far %}
+		<tr><th>FAR (Hz)</th><td colspan="2">{{object.far}}</td></tr>
+        {% endif %}
         {% if object.t90 %}
 		<tr><th>T90</th><td colspan="2">{{object.t90}}</td></tr>
         {% endif %}
-- 
GitLab