From ba48e75b682d71300511a0e748733da00f4cabd4 Mon Sep 17 00:00:00 2001 From: Admin MPCZ Date: Sat, 11 Apr 2026 00:23:33 +0200 Subject: [PATCH] Fix matching iTop: compare aussi par hostname court (sans .mpcz.fr) --- app/services/itop_service.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/app/services/itop_service.py b/app/services/itop_service.py index d5afc08..33bb63f 100644 --- a/app/services/itop_service.py +++ b/app/services/itop_service.py @@ -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()