Files
2026-06-07 09:30:11 +02:00

34 lines
1.1 KiB
Python

import re
from typing import Optional
MARKER_START = "--- [prox-visualizer-metadata] ---"
def extract_duplicate_id(description: Optional[str]) -> Optional[int]:
"""Extrait l'ID de doublon caché dans la note Proxmox via Regex."""
if not description:
return None
# Cherche la clé duplicate_id=chiffres
match = re.search(r'duplicate_id=(\d+)', description)
if match:
return int(match.group(1))
return None
def inject_duplicate_id(description: Optional[str], duplicate_id: int) -> str:
"""
Insère ou met à jour l'ID de doublon à la fin de la note existante,
sans effacer les notes déjà écrites par l'utilisateur.
"""
clean_desc = ""
if description:
# Si un ancien bloc de métadonnées existe, on le retire pour repartir sur du propre
if MARKER_START in description:
clean_desc = description.split(MARKER_START)[0].strip()
else:
clean_desc = description.strip()
# Génération du nouveau bloc de métadonnées
metadata_block = f"\n\n{MARKER_START}\nduplicate_id={duplicate_id}"
return f"{clean_desc}{metadata_block}".strip()