
    Fsi                         d dl Z d dlmZ d dlmZ d dlmZ d dlmZmZ d dl	m
Z
 d dlmZ defd	Zd
 Zedk(  r e        yy)    N)Path)pprint)DocumentAnalyst)calculate_credit_scoreScoringInput)classify_risk)make_credit_decisiontitlec                 F    t        d       t        |        t        d       y )Nze
====================================================================================================zd====================================================================================================)print)r
   s    GC:\Users\dkayr\PycharmProjects\Credit_Scoring_plataform\tests\teste1.pyprint_sectionr      s    	
	%L	)    c                  f   t        t        j                        dk  r t        d       t        j                  d       t        t        j                  d         } g }| j                         rt        | j                  d            }n| g}t        dt        |             |D ]  }t        d|        t        d       t               }|j                  |D cg c]  }t        |       c}      }|D ]y  }t        d|j                         t        d	|j                         t        d
|j                         |j                   sRt        d       |j                   D ]  }t        d|        { t        d       t#        ddddt        |            }t        d       t%        |       t        d       t'        ||      }t        d|j(                          t        d|j*                          t        d|j,                          t        d       |j.                  D ]A  }	t        d|	j0                   d|	j2                   d|	j4                   d|	j6                          C t        d       t9        |j:                  |j<                  ||j>                  d   d d d d!d d"d#d$|j@                  |j>                  jC                  d%i       &	      }
t        d'|
j*                         |
jD                  rt        d(|
jD                         |
jF                  rt        d)|
jF                         t        d*       |
jH                  D ]  }t        d+|        t        d,       tK        |j(                  |
j*                  |j,                  |
jH                  jM                         i |j>                  d-|j:                  i.      }t        d/|jN                         t        d0|jP                         t        d1|jR                         t        d2       |jH                  D ]  }t        d+|        t        d3       y c c}w )4N   u3   ❌ Informe o diretório ou ficheiro de documentos.   z*.pdfu   📂 Documentos encontrados:z  -u"   🔎 INICIANDO ANÁLISE DOCUMENTALu   
📄 Documento:zTipo:u   Confiança:u   ⚠️ Alertas:z -u!   🧾 INPUTS DO PEDIDO DE CRÉDITO   iI i@    )meses_atividadefaturamento_mensalvalor_credito
prazo_diasdocumentos_submetidoszInput do utilizador:u   🧮 CALCULANDO SCORE)scoring_inputdocument_resultszScore final: zClasse preliminar: u   Confiança: u   
📌 Contribuições:z- [z] z: z pts | u   🧠 CLASSIFICAÇÃO DE RISCOdocument_signalsT$   )company_name_match
nuit_matchactivity_months_matchregistration_age_monthsissuer_verifiedzEmpresa Exemplo, Lda	123456789bank_statement_features)	requested_valuerequested_term_daysdoc_resultsdoc_signalsentity_featuresinput_company_name
input_nuitinput_meses_atividadebank_featureszClasse final:zValor recomendado:zPrazo recomendado:u   
📌 Justificações:-u   ✅ DECISÃO FINALr   )score
risk_class
confidencereasonsfeatures_usedu	   Decisão:zValor aprovado:zFlags:u)   
📌 Razões finais (para o utilizador):u!   
✅ TESTE CONCLUÍDO COM SUCESSO)*lensysargvr   exitr   is_dirlistglobr   r   analyze_documentsstr	file_pathdocument_type_detecteddocument_type_confidencealertsr   r   r   r/   r0   r1   contributions	directionfeaturepointsevidencer   r   r   r3   r   getrecommended_max_valuerecommended_term_daysr2   r	   copydecisionapproved_amountflags)pathfilesfanalystr'   rar   score_outputcriskrJ   s               r   mainrV      s   
388}qCDDE{{}TYYw'(	
(#e*5eQ  67G++U,CUSVU,CDK!1;;/gq//0mQ77888#$XXdA   56 "!+.M 

 !
=
 )*)#$L
 
M,,,-
./	 7 78
9:	L001
23	
#$''!++b2ahhZwqzzlK	
 ( 12%33)44 ../AB"&%)')#
 2+;;"0044%r
D( 
/4??+!!"D$>$>?!!"D$>$>?	
#$\\c1  &'#  ??**!!#
((
]88
	H 
+x(()	
X556	(HNN#	
67c1  

./U -Ds   P.__main__)r5   pathlibr   r   6src.infra.document_analysis.analyzers.document_analystr   src.core.scoring.scoring_enginer   r   !src.core.decision.risk_classifierr   !src.core.decision.decision_enginer	   r<   r   rV   __name__ r   r   <module>r_      sE    
   R < B A0H zF r   