
    )i                     h    S r SSKrSSKrSSKJr  SSKJr  \R                  " S5      r
 " S S5      rg))PdfUnspHandler    N	pypdfium2c                   D    \ rS rSrSrS rS rS
S jrS r\	S 5       r
Srg	)r      z
Unsupported feature handler helper class.

Attributes:
    handlers (dict[str, typing.Callable]):
        A dictionary of named handler functions to be called with an unsupported code (:attr:`FPDF_UNSP_*`) when PDFium detects an unsupported feature.
c                      0 U l         S U l        g N)handlers_configselfs    ^/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/pypdfium2/_helpers/unsupported.py__init__PdfUnspHandler.__init__   s        c                 V    U R                   R                  5        H  nU" U5        M     g r   )r	   values)r   _typehandlers       r   __call__PdfUnspHandler.__call__   s     }}++-GDM .r   c                 D   [         R                  " SS9U l        [        R                  " U R                  SU 5        [         R
                  " U R                  5        [        R                  " U R                  5        U(       a  [        R                  U R                  S'   gg)z
Attach the handler to PDFium, and register an exit function to keep the object alive for the rest of the session.

Parameters:
    add_default (bool):
        If True, add a default callback that will log unsupported features as warning.
   )versionFSDK_UnSupport_HandlerdefaultN)pdfium_cUNSUPPORT_INFOr
   pdfium_iset_callbackFSDK_SetUnSpObjProcessHandleratexitregister_keepr   _defaultr	   )r   add_defaults     r   setupPdfUnspHandler.setup!   sk      ..q9dll,DdK..t||<

#'5'>'>DMM)$ r   c                 X    [        U R                  5        [        U R                  5        g r   )idr	   r
   r   s    r   r$   PdfUnspHandler._keep4   s    
4==
4<<r   c                 n    [         R                  S[        R                  R	                  U 5       35        g )NzUnsupported PDF feature: )
lib_loggerwarningr   UnsupportedInfoToStrget)r   s    r   r%   PdfUnspHandler._default9   s+    6x7T7T7X7XY]7^6_`ar   )r
   r	   N)T)__name__
__module____qualname____firstlineno____doc__r   r   r'   r$   staticmethodr%   __static_attributes__ r   r   r   r      s1    

?&
 b br   r   )__all__r"   loggingpypdfium2.rawrawr   pypdfium2.internalinternalr   	getLoggerr-   r   r9   r   r   <module>rA      s4         %{+
-b -br   