o
    f                     @   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   S/home/ubuntu/webapp/venv/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   )parser	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 )N
colorspacemarked_content_idz: 
r'   )end)pdfium_cFPDF_IMAGEOBJ_METADATA	__slots__getattrr   ColorspaceToStrgetprint)metadatapadattrvaluer   r   r   print_img_metadata5   s   
r8   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: )r5   r'   z
-> Count: z-> Total count: )r   r<   r   r   infor   r   get_objectsr=   levelr3   r   ObjectTypeToStrr2   r   r   get_posn_digits
isinstancepdfiumPdfImageget_filtersget_metadatar8   )argspdfshow_posshow_imageinfototal_countipageobj_searcherpreamblecountobjpad_0pad_1r   r4   r   r   r   main?   sD   

rV   )r'   )enumr   pypdfium2._helpers_helpersrE   pypdfium2.rawrawr-   pypdfium2.internalinternalr   pypdfium2._cli._parsersr   r   r   r   r   r&   r8   rV   r   r   r   r   <module>   s   

