GapFill Flowee

This commit is contained in:
2026-06-18 11:24:05 +02:00
parent 64442af182
commit c68daf4313
25 changed files with 2965 additions and 48 deletions
+24
View File
@@ -170,6 +170,30 @@ def get_state_transition(pec_type: str) -> str | None:
return _RECEIPT_TO_STATE.get(pec_type)
def detect_protocol(msg: email.message.Message) -> str:
"""
Determina il protocollo di un messaggio in arrivo.
Logica di rilevamento automatico:
- Se il messaggio contiene almeno un header X-REM-*, il protocollo e' REM europea
- Altrimenti e' PEC italiana (default)
Questo permette al worker di usare il parser corretto (classify_rem_message vs
classify_pec_message) anche per caselle configurate come 'pec_it' che potrebbero
ricevere messaggi REM da partner europei (caso edge).
Args:
msg: oggetto email.message.Message gia' parsato dagli header
Returns:
'rem_eu' se header X-REM-* rilevati, 'pec_it' altrimenti.
"""
for header_name in msg.keys():
if header_name.upper().startswith("X-REM-"):
return "rem_eu"
return "pec_it"
def apply_outbound_transition(current_state: str, pec_type: str) -> str | None:
"""
Applica la state machine al messaggio outbound.