o
    Zh                     @   sv   d dl mZ d dlmZ d dlmZ d dlm	Z
 d dlmZmZmZmZ G dd deZdd Zdd	d
Zdd ZdS )    )EnumN)	add_inputadd_n_digits	get_input
round_listc                   @   s   e Zd ZdZdZdS )
InfoParamsr      N)__name__
__module____qualname__pos	imageinfo r   r   Q/var/www/html/lang_env/lib/python3.10/site-packages/pypdfium2/_cli/pageobjects.pyr      s    r   c                 C   sr   t | dd t|  ttj }| jddd|d| d | jdtd	d
d | jdddd tj	tj
fdd d S )NT)pagesz--filter+Tz"Object types to include. Choices: )nargsmetavarchoiceshelpz--max-depth   zGMaximum recursion depth to consider when descending into Form XObjects.)typedefaultr   z--info*c                 S   s   t |   S )N)r   lower)sr   r   r   <lambda>/   s    zattach.<locals>.<lambda>z(Object details to show (pos, imageinfo).)r   r   r   r   )r   r   listpdfium_iObjectTypeToConstkeysadd_argumentintr   r   r   )parserZ	obj_typesr   r   r   attach   s.   

r%    c                 C   s`   t jjD ])}t| |}|dkrtj|}n	|dkr|dkrqt|| d| d dd qd S )NZ
colorspaceZmarked_content_idz: 
r&   )end)pdfium_cZFPDF_IMAGEOBJ_METADATA	__slots__getattrr   ZColorspaceToStrgetprint)metadatapadattrvaluer   r   r   print_img_metadata5   s   
r3   c                 C   sV  t | }| jrdd | jD | _tj| jv }tj| jv }d}| jD ]z}|| }|j| j| jd}d|d  d}d}	|D ]N}
d|
j	 }|d }t
|| tj|
j  |rgt|
 | j}t
|d	|   |rt|
tjrt
|d
|
    |
 }t||d |	d7 }	d}q<|	dkrt
d|	 d ||	7 }q!|dkrt
d|  d S d S )Nc                 S   s   g | ]}t j| qS r   )r   r    ).0tr   r   r   
<listcomp>E   s    zmain.<locals>.<listcomp>r   )filter	max_depthz# Page r   r(   z    z
Position: z	Filters: )r0   r&   z
-> Count: z-> Total count: )r   r7   r   r   infor   r   Zget_objectsr8   levelr.   r   ZObjectTypeToStrr-   r   r   Zget_posZn_digits
isinstancepdfiumZPdfImageZget_filtersget_metadatar3   )argsZpdfZshow_posZshow_imageinfoZtotal_countipageZobj_searcherpreamblecountobjZpad_0Zpad_1r   r/   r   r   r   main?   sD   

rD   )r&   )enumr   Zpypdfium2._helpersZ_helpersr<   Zpypdfium2.rawrawr*   Zpypdfium2.internalZinternalr   Zpypdfium2._cli._parsersr   r   r   r   r   r%   r3   rD   r   r   r   r   <module>   s   

