
    ?pjP                     R    S SK r S SKJr  S SKJr  SSKJr   " S S5      r\" 5       rg)    N)Path)Type   )BaseConverterc                   b    \ rS rSrSrS rS\\   S\\   4S jrS\	S\4S jr
S\\   4S	 jrS
rg)ConverterRegistry   zERegistry mapping file extensions and MIME types to converter classes.c                      0 U l         0 U l        g N_ext_map	_mime_mapselfs    V/var/www/html/pdf-tiff/venv/lib/python3.13/site-packages/paddleocr/_doc2md/registry.py__init__ConverterRegistry.__init__   s    8:9;    converter_clsreturnc                     UR                    H.  nXR                  UR                  5       R                  S5      '   M0     UR                   H  nXR
                  U'   M     U$ )z7Register a converter class; can be used as a decorator..)supported_extensionsr   lowerlstripsupported_mimetypesr   )r   r   extmimes       r   registerConverterRegistry.register   sQ     55C5BMM#))+,,S12 6!55D#0NN4  6r   	file_pathc                    UR                   R                  5       R                  S5      nX R                  ;   a  U R                  U   " 5       $ [        R
                  " [        U5      5      u  p4U(       a#  X0R                  ;   a  U R                  U   " 5       $ SR                  S [        U R                  R                  5       5       5       5      n[        SU SU 35      e)zAReturn an appropriate converter instance for the given file path.r   z, c              3   ,   #    U  H
  nS U 3v   M     g7f)r   N ).0es     r   	<genexpr>2ConverterRegistry.get_converter.<locals>.<genexpr>.   s     L/K!!g/Ks   zUnsupported format: .z
Supported formats: )suffixr   r   r   	mimetypes
guess_typestrr   joinsortedkeys
ValueError)r   r!   r   	mime_type_	supporteds         r   get_converterConverterRegistry.get_converter$   s    $$&--c2--==%'' ++C	N;	nn4>>),..IILvdmm6H6H6J/KLL	05J9+VWWr   c                 H    [        U R                  R                  5       5      $ r   )r.   r   r/   r   s    r   r   &ConverterRegistry.supported_extensions1   s    dmm((*++r   r   N)__name__
__module____qualname____firstlineno____doc__r   r   r   r   r   r4   listr,   r   __static_attributes__r$   r   r   r   r      sM    O<d=&9 d=>Q Xt X X,d3i ,r   r   )	r*   pathlibr   typingr   baser   r   default_registryr$   r   r   <module>rC      s)       , ,B %& r   