import csv import json import logging import subprocess import tempfile from datetime import datetime from pathlib import Path from inventory_provider.db import ims_data from inventory_provider.db.ims import IMS from inventory_provider import environment from inventory_provider.tasks.app import app from inventory_provider.tasks.common import get_next_redis from inventory_provider.tasks.worker import InventoryTask environment.setup_logging() logger = logging.getLogger(__name__) @app.task(base=InventoryTask, bind=True) def update_lg_routers_ims(self): logger.debug('>>> update_lg_routers_ims - MOVED') r = get_next_redis(InventoryTask.config) for k in r.scan_iter('ims:lg:*'): r.delete(k) c = InventoryTask.config["ims"] ds = IMS(c['api'], c['username'], c['password']) for router in ims_data.lookup_lg_routers(ds): r.set(f'ims:lg:{router["equipment name"]}', json.dumps(router)) logger.debug('<<< update_lg_routers_ims')