From 899a066622a3ae24c2df280523ccc3a1a4d539ef Mon Sep 17 00:00:00 2001
From: Sam Roberts <sam.roberts@geant.org>
Date: Fri, 11 Oct 2024 15:47:39 +0100
Subject: [PATCH] make things a little more legible

---
 inventory_provider/routes/poller.py | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/inventory_provider/routes/poller.py b/inventory_provider/routes/poller.py
index 61b15c37..6e18e894 100644
--- a/inventory_provider/routes/poller.py
+++ b/inventory_provider/routes/poller.py
@@ -876,9 +876,10 @@ def load_interfaces_to_poll(config, hostname=None, no_lab=False, use_next_redis=
         _get_services_and_customers(config, hostname, use_next_redis)
     snmp_indexes = common.load_snmp_indexes(config, hostname, use_next_redis)
     nren_regions = _load_nren_regions(config, use_next_redis)
-    unique_regions = set([value for value in nren_regions.values()])
-    region_index = {region_key: [nren for nren, reg in nren_regions.items() if reg == region_key]
-                    for region_key in unique_regions}
+    unique_regions = set(nren_regions.values())
+    region_index = {}
+    for region_key in unique_regions:
+        region_index[region_key] = {nren for nren, reg in nren_regions.items() if reg == region_key}
 
     def _get_populated_interfaces(all_interfaces):
         if use_next_redis:
@@ -907,9 +908,12 @@ def load_interfaces_to_poll(config, hostname=None, no_lab=False, use_next_redis=
                     ifc['circuits'] = ifc_services_and_customers['services']
 
                 _customers = ifc_services_and_customers.get('customers', [])
+                customer_set = {c['name'] for c in _customers}
                 region = None
                 for region_name in region_index:
-                    if any(customer['name'] in region_index[region_name] for customer in _customers):
+                    # check if any of the customers are in this region
+                    if any(region_index[region_name] & customer_set):
+                        # customers will only have one region, so if there's a match, break here
                         region = region_name
                         break
                 dashboards = _get_dashboards(ifc, region)
-- 
GitLab