
    "#h3                         d Z ddlZddlZddlZddlmZ ddlmZmZm	Z	 ddl
mZ ddlmZ ddlmZ dd	lmZmZ d
e	eef   dedee   fdZdedefdZdeddfdZddZedk(  r e        yy)z.
Implementing a basic command-line interface.
    N)python_version)AnyOptionalUnion)HtmlElement   )__version__)	find_date)	fetch_urlis_wrong_document
htmlstringargsreturnc                     t        |       r t        j                  j                  d       yt	        | |j
                   |j                  |j                  |j                  |j                        S )zGeneric safeguards and triggersz(# ERROR: document is empty or too large
N)extensive_searchoriginal_dateverbosemin_datemax_date)
r   sysstderrwriter
   fastoriginalr   mindatemaxdate)r   r   s     I/var/www/html/sandstorm/venv/lib/python3.12/site-packages/htmldate/cli.pycli_examiner      sW     $

DE!YYmm     c           
         t        j                         }|j                  dddd       |j                  dddt        	       |j                  d
dd       |j                  dddt        	       |j                  dddt        	       |j                  dddt        	       |j                  dddd       |j                  ddddt         dt                       |j                         S )z(Define parser for command-line argumentsz-fz--fastz#fast mode: disable extensive searchstore_false)helpactionz-iz--inputfilezXname of input file for batch processing
                            (similar to wget -i))r"   typez
--originalzoriginal date prioritized
store_truez-minz	--mindatez'earliest acceptable date (ISO 8601 YMD)z-maxz	--maxdatez%latest acceptable date (ISO 8601 YMD)z-uz--URLzcustom URL downloadz-vz	--verbosezincrease output verbosityz	--versionz!show version information and exitversionz	Htmldate z
 - Python )r"   r#   r&   )argparseArgumentParseradd_argumentstrr	   r   
parse_args)r   
argsparsers     r   r+   r+   &   s'   ((*JhB=   4   6|   "KRU   "IPS   D'0ECPk ;L   0K=
>3C2DE	     ""r   c                 F   | j                   r$t        j                  t        j                         | j                  s| j
                  r=t        | j
                        }|Et        j                  d| j
                   dz          n	 t        j                  j                         }t        |       }|#t        j                  j                  |dz          yyt!        | j                  dd      5 }|D ]^  }t        |j#                               }t        ||       }t        j                  j                  |j#                          d	|xs d
 d       ` 	 ddd       y# t        $ r.}t        j                  dt        |       dz          Y d}~d}~ww xY w# 1 sw Y   yxY w)z1Process the arguments passed on the command-line.)levelNzNo data for URL: 
zWrong buffer encoding: rzutf-8)modeencoding	None)r   loggingbasicConfigDEBUG	inputfileURLr   r   exitstdinreadUnicodeDecodeErrorr*   r   stdoutr   openstrip)r   r   errresultr8   linehtmltexts          r   process_argsrE   I   sb    ||'--0 >>88"488,J!,TXXJ7$>?F YY^^-
 Z.JJVd]+ 
 $..sW= 	J! J$TZZ\2$Xt4

  DJJL>F4Df3ER!HIJ	J 	J & F23s8*=DEEF	J 	Js%   E /A$F	F&$FFF c                  R    t        t        j                  dd       } t        |        y)zRun as a command-line utility.r   N)r+   r   argvrE   )r   s    r   mainrH   i   s      chhqrl#Dr   __main__)r   N)__doc__r'   r5   r   platformr   typingr   r   r   	lxml.htmlr    r	   corer
   utilsr   r   r*   r   r+   rE   rH   __name__ r   r   <module>rS      s      
 # ' ' !   /c;&'
 c]& #S  #S  #FJs Jt J@ zF r   