From f6d0109d9fbb0699efac26ddabc56127d3228802 Mon Sep 17 00:00:00 2001
From: Robert Latta <robert.latta@geant.org>
Date: Tue, 22 Oct 2019 09:20:20 +0000
Subject: [PATCH] moved get_top_level_services into standalone function

---
 inventory_provider/routes/classifier.py | 38 ++++++++++++-------------
 1 file changed, 19 insertions(+), 19 deletions(-)

diff --git a/inventory_provider/routes/classifier.py b/inventory_provider/routes/classifier.py
index c62c50ee..863f1f0c 100644
--- a/inventory_provider/routes/classifier.py
+++ b/inventory_provider/routes/classifier.py
@@ -59,6 +59,24 @@ def related_interfaces(hostname, interface):
         yield k[len(prefix):]
 
 
+def get_top_level_services(circuit_id, r):
+    tls = []
+    results = r.get("opsdb:services:children:{}".format(circuit_id))
+    if results:
+        results = json.loads(results.decode('utf-8'))
+
+        for c in results:
+            temp_parents = \
+                get_top_level_services(c['parent_circuit_id'], r)
+            if not temp_parents and \
+                    c['parent_circuit_type'].lower() == 'service':
+                tls.append(
+                    {'name': c['parent_circuit'],
+                     'status': c['parent_circuit_status']})
+            tls.extend(temp_parents)
+    return tls
+
+
 @routes.route("/juniper-link-info/<source_equipment>/<path:interface>",
               methods=['GET', 'POST'])
 @common.require_accepts_json
@@ -369,25 +387,7 @@ def get_coriant_info(equipment_name, entity_string):
         if path:
             result['path'] = path
 
-            def _get_top_level_services(circuit_id):
-                tls = []
-                results = r.get(
-                    "opsdb:services:children:{}".format(circuit_id))
-                if results:
-                    results = json.loads(results.decode('utf-8'))
-
-                    for c in results:
-                        temp_parents = \
-                            _get_top_level_services(c['parent_circuit_id'])
-                        if not temp_parents and \
-                                c['parent_circuit_type'].lower() == 'service':
-                            tls.append(
-                                {'name': c['parent_circuit'],
-                                 'status': c['parent_circuit_status']})
-                        tls.extend(temp_parents)
-                return tls
-
-            top_level_services = _get_top_level_services(path['id'])
+            top_level_services = get_top_level_services(path['id'], r)
             if top_level_services:
                 result['related-services'] = top_level_services
         else:
-- 
GitLab