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()