Robustesse DSLR + éclairage visage + fix pellicule cadre imposé
- camera.py: fix fuite FD USB sur échec reconnexion (gp.Camera non libéré), cleanup PTP session avant init, catch toutes exceptions preview/capture, deconnecter() avec timeout thread + force del pour libérer le port USB - main.py: thread preview anti-crash (outer try/except), reconnexion DSLR même si preview actif, notification camera_erreur après échec capture, intégration module éclairage (analyse luminosité visage via WS) - printer.py: mode pellicule (-2up) ignoré par le cadre imposé événement - eclairage.py: nouveau module analyse luminosité visage (Haar + HSV) - camera.js: indicateur éclairage temps réel (score/100 + visages) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -258,14 +258,15 @@ def imprimer(
|
||||
largeur, hauteur = fmt["px"]
|
||||
|
||||
fmt_base = format_papier.replace("-2up", "")
|
||||
cadre = cadre_override if cadre_override is not None else conf_imp.get("cadres_actifs", {}).get(fmt_base)
|
||||
is_strip = "-2up" in format_papier
|
||||
cadre = cadre_override if cadre_override is not None else (None if is_strip else conf_imp.get("cadres_actifs", {}).get(fmt_base))
|
||||
orientation = conf_imp.get("orientations", {}).get(fmt_base, "portrait")
|
||||
|
||||
if orientation == "paysage" and hauteur > largeur:
|
||||
largeur, hauteur = hauteur, largeur
|
||||
|
||||
event_id = config.get("evenement", {}).get("event_id")
|
||||
if event_id and cadre_override is None:
|
||||
if event_id and cadre_override is None and not is_strip:
|
||||
from backend.evenements import cadre_actif_pour_impression
|
||||
ev_cadre, ev_mode = cadre_actif_pour_impression(fmt_base)
|
||||
if ev_mode == "impose" and ev_cadre:
|
||||
|
||||
Reference in New Issue
Block a user