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	 ddl
mZ edd	Zejd
ddd ejdddd ejdddd dd Zdd Zdd Zedkre  dS )z6warcextract - dump warc record context to standard out    )print_functionN)OptionParser)closing   )
WarcRecordz%prog [options] warc offset)usagez-Iz--inputZinput_format)destz-Lz--log-level	log_levelinfo)Zoutput_directorylimitr	   c          	   C   s   t j| dd  d\}}ytjj}W n tk
r>   tj}Y nX t|dk rxttj	tj
d d}t|| W d Q R X nX|d }t|dkrt|d }nd}ttj	|dd}|| t|| W d Q R X dS )Nr   )args)Zfile_handlegzipr   auto)filenamer   )parser
parse_argssysstdoutbufferAttributeErrorlenr   r   Zopen_archivestdindump_recordintseek)argvoptionsr   outfhr   offset r    5/usr/lib/python3.7/site-packages/hanzo/warcextract.pymain   s     
r"   c             C   st   xn| j dddD ]\\}}}|r0||jd  n:|rjtdt|rB|ndf tjd x|D ]}td| qXW P qW d S )Nr   F)r   offsetszwarc errors at %s:%dr   )file	)Zread_recordswritecontentprintnamer   stderr)r   r   r   recorderrorser    r    r!   r   5   s    
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   
contextlibr   Z	warctoolsr   r   
add_optionset_defaultsr"   r   r/   __name__r    r    r    r!   <module>   s"   
