
    9i                         S SK r S SKJr  S SKJr  SSKJr  SSKJrJ	r	J
r
  Sr " S S	\ R                  S
9r " S S\5      rg)    N)create_predictor)DependencyError   )CLISubcommandExecutor)add_common_cli_optsparse_common_argsprepare_common_init_argsFc                      ^  \ rS rSrSSS.U 4S jjr\\R                  S 5       5       rS r	S r
S r\\R                  S	 5       5       rS
 rS rSrU =r$ )PaddleXPredictorWrapper   N
model_name	model_dirc                   > [         TU ]  5         Ub  UOU R                  U l        X l        [        U[        S9U l        U R                  5       U l	        g )N)default_enable_hpi)
super__init__default_model_name_model_name
_model_dirr   _DEFAULT_ENABLE_HPI_common_args_create_paddlex_predictorpaddlex_predictor)selfr   r   common_args	__class__s       V/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/paddleocr/_models/base.pyr    PaddleXPredictorWrapper.__init__   sU     	$0Jd6M6M 	 $-,?
 "&!?!?!A    c                     [         eNNotImplementedErrorr   s    r   r   *PaddleXPredictorWrapper.default_model_name0   
     "!r    c                 :    U R                   R                  " U0 UD6$ r"   )r   predict)r   argskwargss      r   predict_iter$PaddleXPredictorWrapper.predict_iter5   s    %%--t>v>>r    c                 <    [        U R                  " U0 UD65      nU$ r"   )listr,   )r   r*   r+   results       r   r)   PaddleXPredictorWrapper.predict8   s!    d''889r    c                 8    U R                   R                  5         g r"   )r   closer%   s    r   r3   PaddleXPredictorWrapper.close<   s    $$&r    c                     [         er"   r#   )clss    r   get_cli_subcommand_executor3PaddleXPredictorWrapper.get_cli_subcommand_executor?   r'   r    c                     0 $ r"    r%   s    r   &_get_extra_paddlex_predictor_init_args>PaddleXPredictorWrapper._get_extra_paddlex_predictor_init_argsD   s    	r    c                     [        U R                  U R                  5      n0 U R                  5       EUEn [	        SU R                  U R
                  S.UD6$ ! [         a  n[        S5      UeS nAff = f)Nr   zA dependency error occurred during predictor creation. Please refer to the installation documentation to ensure all required dependencies are installed.r:   )r	   r   r   r;   r   r   r   RuntimeError)r   r+   es      r   r   1PaddleXPredictorWrapper._create_paddlex_predictorG   s    )$*:*:D<M<MNLD??ALVL	# ++tJP   	 k	s   !A 
A3"A..A3)r   r   r   r   )__name__
__module____qualname____firstlineno__r   propertyabcabstractmethodr   r,   r)   r3   classmethodr7   r;   r   __static_attributes____classcell__)r   s   @r   r   r      sy     	B B" "  "?' "  " r    r   )	metaclassc                   l    \ rS rSr\\R                  S 5       5       rS r\R                  S 5       r	Sr
g)PredictorCLISubcommandExecutorU   c                     [         er"   r#   r%   s    r   subparser_name-PredictorCLISubcommandExecutor.subparser_nameV   r'   r    c                     UR                  U R                  S9nU R                  U5        UR                  S[        SS9  UR                  S[        SS9  [        U[        SS9  U$ )	N)namez--model_namezName of the model.)typehelpz--model_dirz$Directory where the model is stored.F)r   allow_multiple_devices)
add_parserrP   _update_subparseradd_argumentstrr   r   )r   
subparsers	subparsers      r   add_subparser,PredictorCLISubcommandExecutor.add_subparser[   su    ))t/B/B)C	y)~C>RS*P 	 	
 	2#(	

 r    c                     [         er"   r#   )r   r\   s     r   rX   0PredictorCLISubcommandExecutor._update_subparseri   s    !!r    r:   N)rA   rB   rC   rD   rE   rF   rG   rP   r]   rX   rI   r:   r    r   rM   rM   U   sA    "  " 	" "r    rM   )rF   paddlexr   paddlex.utils.depsr   	_abstractr   r   r   r   r	   r   ABCMetar   rM   r:   r    r   <module>re      sC     $ . -   4 4n"%: "r    