From ab1c441de27fc4b39fd47d5490672b229847d6a4 Mon Sep 17 00:00:00 2001
From: Maeva Pourpoint <maeva@passcal.nmt.edu>
Date: Thu, 9 Sep 2021 09:56:53 -0600
Subject: [PATCH] Add method "update_electrode_info" to replace inner loop in
 "update_array" method

---
 lemi2seed/lemi_data.py | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/lemi2seed/lemi_data.py b/lemi2seed/lemi_data.py
index ff6d674..2f6a583 100644
--- a/lemi2seed/lemi_data.py
+++ b/lemi2seed/lemi_data.py
@@ -249,10 +249,17 @@ class LemiData():
         # Update component, channel_name and location code for electric channels
         e_loc = get_e_loc(e_info)
         for key, val in e_info.items():
-            for ind in np.where(self.data_np['channel_number'] == key)[0]:
-                self.data_np[ind]['component'] = val
-                self.data_np[ind]['channel_name'] = CHANNEL_NAMING_CONVENTION[val]
-                self.data_np[ind]['location'] = e_loc.get(key, '')
+            self.update_electrode_info(key, val, e_loc)
+
+    def update_electrode_info(self, key: str, val: str, e_loc: Dict) -> None:
+        """
+        Update electrode info (component, channel_name and location code) in
+        data_np attribute.
+        """
+        for ind in np.where(self.data_np['channel_number'] == key)[0]:
+            self.data_np[ind]['component'] = val
+            self.data_np[ind]['channel_name'] = CHANNEL_NAMING_CONVENTION[val]
+            self.data_np[ind]['location'] = e_loc.get(key, '')
 
     def update_data(self, qc_inputs: Optional[Dict] = None,
                     metadata=None) -> None:
-- 
GitLab