
    _iP                         S SK Jr  S SKJr  / SQr " S S\5      r " S S\5      rS rSS
 jr	Sr
Sr\" \
\5      rSrSr\" \\5      r\R                   r\R                   r\R&                  r\R&                  rg	)    )OrderedDict)Mapping)Registryget_registered_model_infoget_registered_suite_inforegister_model_inforegister_suite_infobuild_runner_from_model_infobuild_model_from_model_infoc                   D   ^  \ rS rSrS rU 4S jrS rS rS rS r	Sr
U =r$ )_Record   c                 .   > [         TU ]  5         Xl        g N)super__init__data)selfdict_	__class__s     [/var/www/html/land-ocr/venv/lib/python3.13/site-packages/paddlex/repo_apis/base/register.pyr   _Record.__init__!   s    	    c                      U R                   U   $ r   r   )r   keys     r   __getitem___Record.__getitem__%   s    yy~r   c                 ,    [        U R                  5      $ r   )iterr   r   s    r   __iter___Record.__iter__(       DIIr   c                 ,    [        U R                  5      $ r   )lenr   r!   s    r   __len___Record.__len__+   s    499~r   c                 ,    [        U R                  5      $ r   )reprr   r!   s    r   __repr___Record.__repr__.   r$   r   r   )__name__
__module____qualname____firstlineno____doc__r   r   r"   r'   r+   __static_attributes____classcell__r   s   @r   r   r      s$     r   r   c                   T   ^  \ rS rSrS rU 4S jrS
S jrS rS rS r	S r
S rS	rU =r$ )r   2   c                    > [         TU ]  5         [        5       U l        Xl        X l        U R
                  U R                  ;   d   eg r   )r   r   r   _tablerequired_keysprimary_key)r   r9   r:   r   s      r   r   Registry.__init__5   s=    !m*&4#5#5555r   c                     U(       a  U R                  U5        XR                     nU(       d&  X@R                  ;   a  [        S[	        U5       35      e[        U5      U R                  U'   g)register_recordzDuplicate keys detected: N)_validate_recordr:   r8   
ValueErrorr*   r   )r   recordvalidateallow_overwriteprims        r   r=   Registry.register_record<   sV    !!&)&&'4;;#68dEFF 'DKKr   c                 d    U R                    H   nX!;  d  M
  [        S[        U5       S35      e   g)r>   zKey z is required, but not found.N)r9   KeyErrorr*   )r   r@   r   s      r   r>   Registry._validate_recordF   s1    %%C d3i[0LMNN &r   c                      U R                   U   $ )query)r8   )r   prim_keys     r   rI   Registry.queryL   s    {{8$$r   c              #   T   #    U R                   R                  5        Sh  vN   g N7f)all_recordsN)r8   itemsr!   s    r   rM   Registry.all_recordsP   s     ;;$$&&&s   (&(c                 t    U R                   UR                   :H  =(       a    U R                  UR                  :H  $ )is_compatible_with)r9   r:   )r   registrys     r   rQ   Registry.is_compatible_withT   s6     ("8"88 9  H$8$88	
r   c                 ,    [        U R                  5      $ r   )strr8   r!   s    r   __str__Registry.__str__[   s    4;;r   )r8   r:   r9   )TF)r-   r.   r/   r0   r1   r   r=   r>   rI   rM   rQ   rV   r2   r3   r4   s   @r   r   r   2   s/    60O%'
   r   r   c                 J    U S   n[        U5      nUS   nUS   nU" SSU0UD6$ )r
   suiterunnerrunner_root_path r   )
model_infokwargs
suite_name
suite_info
runner_clsr[   s         r   r
   r
   `   s@    G$J*:6JH%J!"45B'7B6BBr   Nc                 J    U S   n[        U5      nUS   nU S   nU" SXaS.UD6$ )r   rY   model
model_name)re   configr\   r]   )r^   rf   r_   r`   ra   	model_clsre   s          r   r   r   j   s=    G$J*:6J7#IL)JD
DVDDr   )re   rY   config_pathsupported_apisre   )r`   rd   rZ   rf   r[   r`   r   )collectionsr   collections.abcr   __all__r   objectr   r
   r   MODEL_INFO_REQUIRED_KEYSMODEL_INFO_PRIMARY_KEYMODEL_INFO_REGISTRYSUITE_INFO_REQUIRED_KEYSSUITE_INFO_PRIMARY_KEYSUITE_INFO_REGISTRYrI   r   r   r=   r   r	   r\   r   r   <module>rt      s     $ #g (+ v + \CE T % 79OP   & 79OP 
 055 /55 )99 )99 r   