U
    d/e	                  7   @   s   d Z ddlZddlmZ dddgZdd	d
dddddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>h7Zd(Zd?Zed@ee	ddAdBdZ
G dCd dejZdS )Dz$Rendering format parameter handling.    N   )baseFORMATSverify_formatFormatZbmpZcanondotgvZxdotzxdot1.2zxdot1.4ZcgimageZcmapZepsZexrZfiggdZgd2ZgifZgtkZicoimapZcmapxZimap_npZcmapx_npismapZjp2ZjpgZjpegZjpejsonZjson0Zdot_jsonZ	xdot_jsonZpctZpictZpdfZpicplainz	plain-extZpngZpovZpsZps2ZpsdZsgisvgZsvgzZtgaZtifZtiffZtkZvmlZvmlzZvrmlZwbmpZwebpZxlibZx11T)required)formatr   returnc                C   s@   | d kr|r<t dn&|  tkr<t d| dtt dd S )Nzmissing formatzunknown format: z (must be one of ))
ValueErrorlowerr   sorted)r   r    r   ?/tmp/pip-unpacked-wheel-n8ok7rre/graphviz/parameters/formats.pyr   3   s
    
c                       st   e Zd ZdZeZeeZdde	j
e dd fddZ fddZeed	d
dZejeddddZ  ZS )r   z2Rendering format parameter with ``'pdf'`` default.N)r   )r   r   c                   s    t  jf | |d k	r|| _d S N)super__init__r   )selfr   kwargs	__class__r   r   r   C   s    zFormat.__init__c                    s(   |  d}|dk	r||d< t jf |S )z3Return the kwargs to create a copy of the instance._formatNr   )Z_getattr_from_dictr   _copy_kwargs)r   r   r   r   r   r   r    I   s    
zFormat._copy_kwargs)r   c                 C   s   | j S )zMThe output format used for rendering
            (``'pdf'``, ``'png'``, ...).)r   )r   r   r   r   r   P   s    zFormat.formatc                 C   s   |  }| | || _d S r   )r   _verify_formatr   )r   r   r   r   r   r   V   s    
)__name__
__module____qualname____doc__DEFAULT_FORMATr   staticmethodr   r!   typingOptionalstrr   r    propertyr   setter__classcell__r   r   r   r   r   <   s    )r%   r(    r   __all__r   r&   ZREQUIREDr*   boolr   ZParameterBaser   r   r   r   r   <module>   s~   
                   %	