from django.core.management.base import BaseCommand import socket, csv from pytz import timezone from collections import namedtuple from itertools import groupby from services.models import IPResource from djadhere.utils import from_livestatus class Command(BaseCommand): help = 'Récupération du label check_mk' def handle(self, *args, **options): paris = timezone('Europe/Paris') hosts = from_livestatus('hosts', columns=['name', 'address']) data = {} # quelques IP sont listées curieusement plusieurs fois, on prend la première occurence for address, group in groupby(sorted(hosts, key=lambda host: host.address), lambda host: host.address): host = next(group) IPResource.objects.filter(ip=address).update(checkmk_label=host.name)