From 74a72920ef8292060fb512c3f1a8a6951ddc2563 Mon Sep 17 00:00:00 2001
From: Thomas Kluyver <thomas.kluyver@xfel.eu>
Date: Tue, 26 Nov 2024 15:30:40 +0100
Subject: [PATCH] Ignore missing sources when finding memory cell patterns

---
 src/cal_tools/lpdlib.py | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/cal_tools/lpdlib.py b/src/cal_tools/lpdlib.py
index 6d0054ef3..eec0c11b4 100644
--- a/src/cal_tools/lpdlib.py
+++ b/src/cal_tools/lpdlib.py
@@ -4,7 +4,7 @@ from typing import Optional
 from warnings import warn
 
 import numpy as np
-from extra_data import RunDirectory
+from extra_data import RunDirectory, SourceNameError
 
 
 def get_mem_cell_pattern(run, sources) -> np.ndarray:
@@ -15,7 +15,11 @@ def get_mem_cell_pattern(run, sources) -> np.ndarray:
     """
     patterns = []
     for source in sources:
-        cell_id_data = run[source, 'image.cellId'].drop_empty_trains()
+        try:
+            cell_id_data = run[source, 'image.cellId'].drop_empty_trains()
+        except SourceNameError:
+            continue  # Source missing
+
         if len(cell_id_data.train_ids) == 0:
             continue  # No data for this module
         cell_ids = cell_id_data[0].ndarray().flatten()
-- 
GitLab