a
    ˜ÆàgÊ  ã                   @   sº  d 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Zddlm	Z	m
Z
mZmZ ddlmZ ddlmZ ddlmZ G d	d
„ d
ejƒZG dd„ dejƒZeddd�Zejddd� ejddd� ejdddd� ejdddddd� ejddd d� ejd!d"d#d� ejd$d%dd&d'd� ejd(d)d� ejd*ed+d,� ejd-d.d� ejd/d0d1d2� ejd3d0d4d2� ejd5d0d6d2� ejd7d8d0d9d2� ejd:d0d;d2� ejd<d0d=d2� ejd>d?ed@dA� ejdBd0dCd2� ejdDd0dEd2� ejdFdGdHdIdJ� ejdKdLedMdA� ejdNdOd0dPd2� ejdQdRd0dSd2� ejdTdUd0dVd2� ejdWdXdYe› �dZd[� ejd\d]edd^d_� ejd`daedbdA� ejf i e	¤Ž ddde
fdcdd„Ze j deej 7  _ edfk�r¶eƒ  dS )gz%Command-line interface to WeasyPrint.é    N)Úpartialé   )ÚDEFAULT_OPTIONSÚHTMLÚLOGGERÚ__version__)ÚVARIANTS)Úpango)Údefault_url_fetcherc                   @   s   e Zd Zdd„ ZdS )Ú	PrintInfoc                  O   s‚   t  ¡ }td|jƒ td|jƒ td|jƒ td|jƒ tƒ  tdtƒ tdtj 	¡ d ƒ tdt
jƒ td	t ¡ ƒ t ¡  d S )
NzSystem:zMachine:zVersion:zRelease:zWeasyPrint version:zPython version:r   zPydyf version:zPango version:)ÚplatformÚunameÚprintÚsystemÚmachineÚversionÚreleaser   ÚsysÚsplitÚpydyfr	   Zpango_versionÚexit)Ú_Ú__r   © r   úL/var/www/sistema_ama/venv/lib/python3.9/site-packages/weasyprint/__main__.pyÚ__call__   s    
zPrintInfo.__call__N)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r      s   r   c                       s4   e Zd Z‡ fdd„Z‡ fdd„Zedd„ ƒZ‡  ZS )ÚParserc                    s   i | _ tƒ j|i |¤Ž d S )N)Ú
_argumentsÚsuperÚ__init__)ÚselfÚargsÚkwargs©Ú	__class__r   r   r"   !   s    zParser.__init__c                    sJ   t ƒ j|i |¤Ž |d  d¡}||d< |d d dk|d< || j|< d S )Néÿÿÿÿú-Úflagsr   Ú
positional)r!   Úadd_argumentÚlstripr    )r#   r$   r%   Úkeyr&   r   r   r,   %   s
    zParser.add_argumentc                 C   sþ   | j  d¡| j d< g }| j  ¡ D ]Ò\}}| d¡ | dd¡}|d D ]:}| |¡ |d sv|dv rv| d|› d	�¡ | d
¡ qFd|d< | d|d d  ¡ › |d dd … › d�¡ d|v ràd
 |d ¡}| d|› d�¡ |dkr | d¡ q d |¡S )NÚhelpz.. option:: ÚactionÚstorer*   r+   )r1   Úappendz <ú>z, ú

r(   z  r   r   z.

Úchoicesz  Possible choices: r2   z-  This option can be passed multiple times.

Ú )r    ÚpopÚitemsr2   ÚgetÚupperÚjoin)r#   Údatar.   r$   r0   Úflagr5   r   r   r   Ú	docstring,   s$    

.zParser.docstring)r   r   r   r"   r,   Úpropertyr>   Ú__classcell__r   r   r&   r   r       s   r   Z
weasyprintzRender web pages to PDF.)ÚprogÚdescriptionÚinputz1URL or filename of the HTML input, or - for stdin)r/   Úoutputz1filename where output is written, or - for stdoutz-ez
--encodingz"force the input character encodingz-sz--stylesheetr2   Zstylesheetsz)URL or filename for a user CSS stylesheet)r0   Údestr/   z-mz--media-typez/media type to use for @media, defaults to printz-uz
--base-urluz   base for relative URLs in the HTML input, defaults to the inputâ€™s own filename or URL or the current directory for stdinz-az--attachmentÚattachmentsz7URL or filename of a file to attach to the PDF documentz--pdf-identifierzPDF file identifierz--pdf-variantzPDF variant to generate)r5   r/   z--pdf-versionzPDF version numberz--pdf-formsÚ
store_truezinclude PDF forms)r0   r/   z--uncompressed-pdfz9do not compress PDF content, mainly for debugging purposez--custom-metadataz-include custom HTML meta tags in PDF metadataz-pz--presentational-hintsz follow HTML presentational hintsz--srgbzinclude sRGB color profilez--optimize-imagesz5optimize size of embedded images with no quality lossz-jz--jpeg-qualityz+JPEG quality between 0 (worst) to 95 (best))Útyper/   z--full-fontsz)embed unmodified font files when possiblez	--hintingz*keep hinting information in embedded fontsz-cz--cache-folderÚcachezistore cache on disk instead of memory, folder is created if needed and cleaned after the PDF is generated)rE   r/   z-Dz--dpiz4set maximum resolution of images embedded in the PDFz-vz	--verbosez&show warnings and information messagesz-dz--debugzshow debugging messagesz-qz--quietzhide logging messagesz	--versionr   zWeasyPrint version u,   print WeasyPrintâ€™s version number and exit)r0   r   r/   z-iz--infoz!print system information and exit)r0   Únargsr/   z-tz	--timeoutz(Set timeout in seconds for HTTP requestsc                 C   s0  t  | ¡}|jdkrD|ptjj}|jdu r2d|_qJ|jdkrJd|_n|j}|jdkrb|p^tjj}n|j}t	}|j
dur„tt	|j
d�}dd„ t|ƒ ¡ D ƒ}|jr®t tj¡ n|jrÀt tj¡ |j�st ¡ }	|jrè|	 t d¡¡ n|	 t d	¡¡ t |	¡ |||j|j|j|d
�}
|
j|fi |¤Ž dS )z…The ``weasyprint`` program takes at least two arguments:

    .. code-block:: sh

        weasyprint [options] <input> <output>

    r)   NÚ.r6   )Útimeoutc                 S   s   i | ]\}}|t v r||“qS r   )r   )Ú.0r.   Úvaluer   r   r   Ú
<dictcomp>«   s   zmain.<locals>.<dictcomp>zB%(levelname)s: %(filename)s:%(lineno)d (%(funcName)s): %(message)sz%(levelname)s: %(message)s)Úbase_urlÚencodingÚ
media_typeÚurl_fetcher)ÚPARSERÚ
parse_argsrC   r   ÚstdinÚbufferrP   rD   Ústdoutr
   rL   r   Úvarsr8   Údebugr   ÚsetLevelÚloggingÚDEBUGÚverboseÚINFOÚquietÚStreamHandlerÚsetFormatterÚ	FormatterÚ
addHandlerrQ   rR   Z	write_pdf)ÚargvrX   rV   r   r$   ÚsourcerD   rS   ÚoptionsÚhandlerÚhtmlr   r   r   Úmain�   sH    






ÿÿÿ

þrj   r4   Ú__main__)Ú__doc__Úargparser\   r   r   Ú	functoolsr   r   r6   r   r   r   r   Zpdfr   Ztext.ffir	   Úurlsr
   ÚActionr   ÚArgumentParserr   rT   r,   ÚintÚset_defaultsrj   r>   r   r   r   r   r   Ú<module>   sä   "ÿÿÿþþþþÿÿþþþþþþþþþþþÿÿýþþ6
