o
     ef                     @   s   d dl Z d dlZd dlZd dlmZ d dlmZ ddlmZ de	dee
 fdd	Zd
ee	 de jfddZejdd fd
ee	 ddfddZedkrPe  dS dS )    N)chain)List   )PDFp_strreturnc                 C   s8   d| v rt t| d\}}tt||d S t| gS )N-r   )mapintsplitlistrange)r   startend r   A/var/www/html/venv/lib/python3.10/site-packages/pdfplumber/cli.pyparse_page_spec   s   
r   args_rawc                 C   s   t d}|jddt dtjjd |jdddgdd	 |jd
dd |jdddd |jdddd |jdtjd |jdt	d |jddt
d |jdt	dd || }|jd urett|j |_|S )N
pdfplumberinfile?rb)nargstypedefaultz--formatcsvjson)choicesr   z--types+)r   z--include-attrsz1Include *only* these object attributes in output.)r   helpz--exclude-attrsz,Exclude these object attributes from output.z
--laparams)r   z--precisionz--pages)r   r   z--indentz&Indent level for JSON pretty-printing.)r   r   )argparseArgumentParseradd_argumentFileTypesysstdinbufferr   loadsr
   r   
parse_argspagesr   r   )r   parserargsr   r   r   r(      s4   


r(   c              	   C   s   t | }tj|j|j|jd7}|jdkr%|jtj	|j
|j|j|jd n|jtj	|j
|j|j|j|jd W d    d S W d    d S 1 sIw   Y  d S )N)r)   laparamsr   )	precisioninclude_attrsexclude_attrs)r-   r.   r/   indent)r(   r   openr   r)   r,   formatto_csvr$   stdouttypesr-   r.   r/   to_jsonr0   )r   r+   pdfr   r   r   main:   s*   
"r8   __main__)r    r   r$   	itertoolsr   typingr   r7   r   strr
   r   	Namespacer(   argvr8   __name__r   r   r   r   <module>   s   $'
