From 4e7c6cb93f8afc511161e89bd6e661f51b41e843 Mon Sep 17 00:00:00 2001
From: Brandon Piotrzkowski <brandon.piotrzkowski@ligo.org>
Date: Thu, 20 Apr 2023 17:47:39 +0000
Subject: [PATCH] Revert back to grabbing all G-events from GraceDB; fixes #82

---
 CHANGES.md                         | 3 +++
 ligo/followup_advocate/__init__.py | 9 +++++++--
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/CHANGES.md b/CHANGES.md
index 661aba44..35914acd 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -2,6 +2,9 @@
 
 ## 1.2.1 (unrelased)
 
+-   Fix bug where pipelines didn't appear yet in pipeline preferred events,
+    causing the circulars to miss pipelines or fail.
+
 -   Fix example of medium-latency PyGRB exclusion.
 
 -   Update PyCBC citation.
diff --git a/ligo/followup_advocate/__init__.py b/ligo/followup_advocate/__init__.py
index aeb3590c..e59c1e67 100644
--- a/ligo/followup_advocate/__init__.py
+++ b/ligo/followup_advocate/__init__.py
@@ -43,8 +43,13 @@ def main_dict(gracedb_id, client):
     event = client.superevent(gracedb_id).json()
     preferred_event = event['preferred_event_data']
     preferred_pipeline = preferred_event['pipeline']
-    other_pipelines = list(event["pipeline_preferred_events"].keys())
-    other_pipelines.remove(preferred_pipeline)
+    other_pipelines = []
+    gw_events = event['gw_events']
+
+    for gw_event in gw_events:
+        pipeline = client.event(gw_event).json()['pipeline']
+        if pipeline not in other_pipelines and pipeline != preferred_pipeline:
+            other_pipelines.append(pipeline)
 
     voevents = client.voevents(gracedb_id).json()['voevents']
     if not voevents:
-- 
GitLab