Fix matching iTop: compare aussi par hostname court (sans .mpcz.fr)

This commit is contained in:
Pierre & Lumière 2026-04-11 00:23:33 +02:00
parent db74111d58
commit ba48e75b68

View File

@ -230,8 +230,14 @@ def sync_to_itop(db, itop_url, itop_user, itop_pass):
client = ITopClient(itop_url, itop_user, itop_pass)
stats = {"updated": 0, "created": 0, "errors": []}
# Get current iTop servers for matching
itop_servers = {s["name"].lower(): s for s in client.get_servers()}
# Get current iTop servers for matching (by full name AND by hostname part)
itop_servers_raw = client.get_servers()
itop_servers = {}
for s in itop_servers_raw:
itop_servers[s["name"].lower()] = s
short = s["name"].split(".")[0].lower()
if short not in itop_servers:
itop_servers[short] = s
# Get patchcenter servers
rows = db.execute(text("SELECT hostname, fqdn, os_version, os_family, etat, site, responsable_nom, commentaire FROM servers")).fetchall()