fix(scripts): corriger passage CSV à python3 via pipe au lieu de heredoc

This commit is contained in:
MaksTinyWorkshop
2026-03-26 18:27:12 +01:00
parent 28454bf466
commit 44ac880e18
2 changed files with 16 additions and 20 deletions

View File

@@ -48,23 +48,21 @@ EOF
# Parser le CSV avec python3 — gère les champs multilignes et les virgules dans les valeurs # Parser le CSV avec python3 — gère les champs multilignes et les virgules dans les valeurs
local pairs local pairs
pairs=$(python3 - <<'PYEOF' <<< "$csv" pairs=$(printf '%s' "$csv" | python3 -c "
import sys, csv, re import sys, csv, re
reader = csv.DictReader(sys.stdin) reader = csv.DictReader(sys.stdin)
for row in reader: for row in reader:
group = row.get("Group", "") group = row.get('Group', '')
title = row.get("Title", "") title = row.get('Title', '')
password = row.get("Password", "") password = row.get('Password', '')
if group != "Racine/global" and not group.startswith("Racine/global/"): if group != 'Racine/global' and not group.startswith('Racine/global/'):
continue continue
if not re.match(r'^[A-Z_][A-Z0-9_]*$', title): if not re.match(r'^[A-Z_][A-Z0-9_]*\$', title):
continue continue
if not password: if not password:
continue continue
print(f"{title}={password}") print(title + '=' + password)
PYEOF ")
)
if [ -z "$pairs" ]; then if [ -z "$pairs" ]; then
echo "Aucun secret global chargé." >&2 echo "Aucun secret global chargé." >&2

View File

@@ -59,23 +59,21 @@ EOF
# Parser le CSV avec python3 — gère les champs multilignes et les virgules dans les valeurs # Parser le CSV avec python3 — gère les champs multilignes et les virgules dans les valeurs
local rendered_lines local rendered_lines
rendered_lines=$(python3 - <<'PYEOF' <<< "$csv" rendered_lines=$(printf '%s' "$csv" | python3 -c "
import sys, csv, re import sys, csv, re
reader = csv.DictReader(sys.stdin) reader = csv.DictReader(sys.stdin)
for row in reader: for row in reader:
group = row.get("Group", "") group = row.get('Group', '')
title = row.get("Title", "") title = row.get('Title', '')
password = row.get("Password", "") password = row.get('Password', '')
if group != "Racine/services" and not group.startswith("Racine/services/"): if group != 'Racine/services' and not group.startswith('Racine/services/'):
continue continue
if not re.match(r'^[A-Z_][A-Z0-9_]*$', title): if not re.match(r'^[A-Z_][A-Z0-9_]*\$', title):
continue continue
if not password: if not password:
continue continue
print(f"{title}={password}") print(title + '=' + password)
PYEOF ")
)
if [ -z "$rendered_lines" ]; then if [ -z "$rendered_lines" ]; then
echo "Aucun secret de service chargé." >&2 echo "Aucun secret de service chargé." >&2