diff --git a/inventory_provider/tasks/worker.py b/inventory_provider/tasks/worker.py
index 52c2807b0336c0dc8ab11ad6c7320e0f409c0760..b866a70ac73002e39e35bd1aedce91c704d008ef 100644
--- a/inventory_provider/tasks/worker.py
+++ b/inventory_provider/tasks/worker.py
@@ -711,11 +711,9 @@ def ims_task(self, use_current=False):
def extract_ims_data():
c = InventoryTask.config["ims"]
- ds1 = IMS(c['api'], c['username'], c['password'])
- ds2 = IMS(c['api'], c['username'], c['password'])
- ds3 = IMS(c['api'], c['username'], c['password'])
- ds4 = IMS(c['api'], c['username'], c['password'])
- ds5 = IMS(c['api'], c['username'], c['password'])
+
+ def _ds() -> IMS:
+ return IMS(c['api'], c['username'], c['password'])
locations = {}
lg_routers = []
@@ -729,26 +727,26 @@ def extract_ims_data():
def _populate_locations():
nonlocal locations
- locations = {k: v for k, v in ims_data.get_node_locations(ds1)}
+ locations = {k: v for k, v in ims_data.get_node_locations(ds=_ds())}
def _populate_lg_routers():
nonlocal lg_routers
- lg_routers = list(ims_data.lookup_lg_routers(ds5))
+ lg_routers = list(ims_data.lookup_lg_routers(ds=_ds()))
def _populate_customer_contacts():
nonlocal customer_contacts
customer_contacts = \
- {k: v for k, v in ims_data.get_customer_service_emails(ds2)}
+ {k: v for k, v in ims_data.get_customer_service_emails(ds=_ds())}
def _populate_circuit_ids_to_monitor():
nonlocal circuit_ids_to_monitor
circuit_ids_to_monitor = \
- list(ims_data.get_monitored_circuit_ids(ds3))
+ list(ims_data.get_monitored_circuit_ids(ds=_ds()))
def _populate_additional_circuit_customer_ids():
nonlocal additional_circuit_customer_ids
additional_circuit_customer_ids = \
- ims_data.get_circuit_related_customer_ids(ds4)
+ ims_data.get_circuit_related_customer_ids(ds=_ds())
exceptions = {}
with concurrent.futures.ThreadPoolExecutor() as executor:
@@ -771,18 +769,19 @@ def extract_ims_data():
def _populate_hierarchy():
nonlocal hierarchy
- hierarchy = {d['id']: d for d in ims_data.get_circuit_hierarchy(ds1)}
+ hierarchy = {
+ d['id']: d for d in ims_data.get_circuit_hierarchy(ds=_ds())}
logger.debug("hierarchy complete")
def _populate_port_id_details():
nonlocal port_id_details
- for x in ims_data.get_port_details(ds2):
+ for x in ims_data.get_port_details(ds=_ds()):
pd = port_id_details[x['port_id']]
pd.append(x)
logger.debug("Port details complete")
def _populate_circuit_info():
- for x in ims_data.get_port_id_services(ds3):
+ for x in ims_data.get_port_id_services(ds=_ds()):
port_id_services[x['port_a_id']].append(x)
logger.debug("port circuits complete")