
    /i                         S SK Jr  S SKJrJr   " S S\5      r " S S\5      r\R                  S5      \	" S5      4S	\4S
 jj5       r
g)    )	BaseModel)OptionalListc                   4    \ rS rSr% \\S'   Sr\\   \S'   Sr	g)AadharPerson   nameNage )
__name__
__module____qualname____firstlineno__str__annotations__r
   r   int__static_attributes__r       */var/www/html/land-doc-ocr/aadhar_utils.pyr   r      s    
IC#r   r   c                   r    \ rS rSr% \\   \S'   \\   \S'   Sr\	\
   \S'   Sr\	\   \S'   Sr\	\   \S	'   S
rg)AadharCheckRequest   aadhar_filespeople皙?name_threshold   age_toleranceFdebugr   N)r   r   r   r   r   r   r   r   r   r   floatr   r   r   boolr   r   r   r   r   r      sA    s)&)NHUO)#$M8C=$!E8D>!r   r   z/aadhar_check.reqc                   #    [        S[        S[        U R                  =(       d    S5      5      5      n[	        U R
                  =(       d    S5      n[        R                  SS9n  [        U R                  U5      I S h  vN n/ n[        U R                  U5       H  u  px[        U5      (       a  [!        USSS9n	O;[#        U5      n	U	(       a  [%        U	R'                  5       5      S:  a   [)        U5      n	[+        U	5      n
XzS'   U R,                  (       a  XS'   UR/                  U
5        M     / nU R0                   GH  nSS S S S S S S.nU H  n
U
R3                  S5      (       d  M  [5        UR6                  U
S   5      S-  nU
R3                  S5      nS nS nUR8                  b2  Ub/  [;        [	        UR8                  5      [	        U5      -
  5      nUU:*  nXS   :  d  XS   :X  d  M  U(       d  M  UR=                  UU
R3                  S5      U
R3                  S5      UUU
R3                  S5      U
R3                  S5      S.5        M     SnUS   (       a5  US   U:  a,  UR8                  b  US   b  US   S L=(       a    US   U:*  nOSnUR/                  UR6                  UR8                  S.[?        US   5      UR3                  S5      UR3                  S5      UR3                  S5      UR3                  S5      UR3                  S5      UUR3                  S5      UR3                  S5      S.	S .5        GM     S!U0nU R,                  (       a  UUS"'   U[        R                  USS9  $  GN! [         a&  n[        R                  USS9  [        S	S
U 3S9eS nAff = f! [         a    Sn	 GNf = f! [        R                  USS9  f = f7f)#Ng        g      ?r   r   aadhar_)prefixT)ignore_errorsi  zdl_err: )status_codedetailengi,  )langdpiP    fileocr_text)scorer.   matched_name
aadhar_ageage_differenceraw_name_lineraw_dob_liner	   g      Y@r
   r0   r4   r5   Fr2   r3   )r	   expected_ager1   )	foundmatched_filer1   
name_scorer2   r3   passedr4   r5   )personmatchresults	extracted) maxminr    r   r   r   tempfilemkdtempdownload_allr   	ExceptionshutilrmtreeHTTPExceptionzipis_image_extocr_image_fileextract_text_from_pdflenstripocr_pdfextract_aadhar_fields_from_textr   appendr   gettoken_score_enr	   r
   absupdater!   )r"   name_threshage_toltempd
downloadeder>   file_url
local_pathtextinfor=   r;   bestr9   a_ageage_diffage_okr:   resps                       r   aadhar_checkrc      s    c3sE#*<*<*C$DEFK###(q)GI.EM1	H+C,<,<eDDJ
 	$'(8(8*$E HJ''%ju#F -Z8s4::<025"&z2 348D#Lyy#'Z T"! %F& jjF $TXlp  DH  Z^  _D!xx''+FKKfFN
::)e.?"3vzz?SZ#?@H%0FW-*W2MRXRXKK!+ $ 0(,(8&+*2)-/)B(,(@!  "( FF|=K/zz-$|2D2P!%&6!7t!C!iM]H^biHi!%NN#);;

K!$v,/$(HHV$4$(HH^$<"&((7"3"&((<"8&*hh/?&@$%)XXo%>$(HH^$<
 ; !X 7#99 )De40W E 	HMM%tM4C(1#GG	H % "!"v 	e40s   A$O(M3 M0M3 A(N9 /N&:C0N9 .N9 7E$N9 O0M3 3
N#=!NN##N9 &N62N9 5N66N9 9OON)pydanticr   typingr   r   r   r   apppostBodyrc   r   r   r   <module>ri      sR     !9 " " /15c R1. R1 R1r   