Build Proxmox visualizer app
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
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()
|
||||
Reference in New Issue
Block a user