Skip to content
Snippets Groups Projects
ims_worker.py 978 B
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')