B
    /b                 @   s   d Z ddlmZ ddl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
 eddZejd	d
dd ejdddd ejdddd ejdddd dd Zdd Zedkre  dS )zwarcvalid - check a warc is ok    )print_functionN)OptionParser   )
WarcRecordexpand_filesz%prog [options] warc warc warc)usagez-lz--limitlimit)destz-Iz--inputZinput_formatz-Lz--log-level	log_levelinfo)Zoutput_directoryr   r
   c          
   C   sR  t j| dd  d\}}tj}t|dk r4t d d}d }zyxt|D ]}tj|dd}x|j	d dD ]x\}}}	|	rt
d||f tjd	 t
|	tjd	 d
}P qj|d k	rj| rjt
d||f tjd	 t
| tjd	 d
}P qjW qJW W n> tk
r* }
 zt
dt|
 tjd	 d
}W d d }
~
X Y nX W d |r>|  X |rJdS dS d S )Nr   )argszno imput warc file(s)Tauto)gzip)r   zwarc errors at %s:%d)fileFzException: %sr   )parser
parse_argssysstdoutlenerrorr   r   Zopen_archiveZread_recordsprintstderrvalidate	Exceptionstrclose)argvoptionsZinput_filesoutcorrectfhnameoffsetrecorderrorse r'   3/usr/lib/python3.7/site-packages/hanzo/warcvalid.pymain   s8    
 
r)   c               C   s   t tt j d S )N)r   exitr)   r   r'   r'   r'   r(   run@   s    r+   __main__)__doc__
__future__r   osr   os.pathoptparser   Z	warctoolsr   r   r   
add_optionset_defaultsr)   r+   __name__r'   r'   r'   r(   <module>   s    
(