fix(scripts): ignorer le bruit du buffer expect avant l'en-tête CSV

This commit is contained in:
MaksTinyWorkshop
2026-03-26 18:31:38 +01:00
parent a2ec71dbbf
commit ba772da50c
2 changed files with 19 additions and 7 deletions

View File

@@ -27,7 +27,6 @@ _load_global_secrets() {
fi
echo "Chargement des secrets globaux..." >&2
echo "DEBUG: SECRETS_KDBX=$SECRETS_KDBX" >&2
# Export CSV complet — une seule ouverture du coffre
local csv
@@ -47,13 +46,19 @@ EOF
return 1
}
echo "DEBUG: csv length=${#csv}" >&2
echo "DEBUG: csv first 100 chars=${csv:0:100}" >&2
# Parser le CSV avec python3 — gère les champs multilignes et les virgules dans les valeurs
# On cherche la ligne d'en-tête CSV pour ignorer le bruit du buffer expect
local pairs
pairs=$(printf '%s' "$csv" | python3 -c "
import sys, csv, re
reader = csv.DictReader(sys.stdin)
import sys, csv, re, io
raw = sys.stdin.read()
# Trouver la ligne d'en-tête CSV
start = raw.find('\"Group\"')
if start == -1:
sys.exit(0)
clean = raw[start:]
reader = csv.DictReader(io.StringIO(clean))
for row in reader:
group = row.get('Group', '')
title = row.get('Title', '')

View File

@@ -58,10 +58,17 @@ EOF
}
# Parser le CSV avec python3 — gère les champs multilignes et les virgules dans les valeurs
# On cherche la ligne d'en-tête CSV pour ignorer le bruit du buffer expect
local rendered_lines
rendered_lines=$(printf '%s' "$csv" | python3 -c "
import sys, csv, re
reader = csv.DictReader(sys.stdin)
import sys, csv, re, io
raw = sys.stdin.read()
start = raw.find('\"Group\"')
if start == -1:
sys.exit(0)
clean = raw[start:]
reader = csv.DictReader(io.StringIO(clean))
for row in reader:
group = row.get('Group', '')
title = row.get('Title', '')