From 54d3cc18e63f40082219f1b2d099de57551150f6 Mon Sep 17 00:00:00 2001 From: Erik Reid <erik.reid@geant.org> Date: Fri, 12 Jun 2020 11:53:30 +0200 Subject: [PATCH] turn _classify into a generator --- inventory_provider/tasks/worker.py | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/inventory_provider/tasks/worker.py b/inventory_provider/tasks/worker.py index dd1689d9..70680acc 100644 --- a/inventory_provider/tasks/worker.py +++ b/inventory_provider/tasks/worker.py @@ -659,10 +659,9 @@ def _build_service_category_interface_list(update_callback=lambda s: None): def _classify(ifc): if ifc['description'].startswith('SRV_MDVPN'): - return 'mdvpn' + yield 'mdvpn' if 'LHCONE' in ifc['description']: - return 'lhcone' - return None + yield 'lhcone' update_callback('loading all known interfaces') interfaces = data.build_service_interface_user_list(InventoryTask.config) @@ -674,13 +673,11 @@ def _build_service_category_interface_list(update_callback=lambda s: None): rp = r.pipeline() for ifc in interfaces: - service_type = _classify(ifc) - if not service_type: - continue - rp.set( - f'interface-services:{service_type}' - f':{ifc["router"]}:{ifc["interface"]}', - json.dumps(ifc)) + for service_type in _classify(ifc): + rp.set( + f'interface-services:{service_type}' + f':{ifc["router"]}:{ifc["interface"]}', + json.dumps(ifc)) rp.execute() -- GitLab