o
    ooi	                     @   sb   d Z ddlZddlmZ g dZh dZdZdZed	d
ede	ddfddZ
G dd dejZdS )z$Rendering format parameter handling.    N   )base)FORMATSverify_formatFormat>8   xdot1.2xdot1.4	plain-extgdgvpstkbmpdotepsexrfiggd2gifgtkicojp2jpejpgpctpdfpicpngpovps2psdsgisvgtgatifvmlx11cmapimapjpegjsonpictsvgztiffvmlzvrmlwbmpwebpxdotxlibcanoncmapxismapjson0plaincgimageimap_npcmapx_npdot_json	xdot_json
svg_inliner   T)requiredformatr?   returnc                C   sB   | d u r|r
t dd S |  tvrt d| dtt dd S )Nzmissing formatzunknown format: z (must be one of ))
ValueErrorlowerr   sorted)r@   r?    rF   O/home/ubuntu/.local/lib/python3.10/site-packages/graphviz/parameters/formats.pyr   3   s   

r   c                       sx   e Zd ZdZeZeeZddde	j
e ddf fddZ fdd	Zedefd
dZejdeddfddZ  ZS )r   z2Rendering format parameter with ``'pdf'`` default.N)r@   r@   rA   c                   s(   t  jdi | |d ur|| _d S d S )NrF   )super__init__r@   )selfr@   kwargs	__class__rF   rG   rI   C   s   
zFormat.__init__c                    s,   |  d}|dur||d< t jdi |S )z3Return the kwargs to create a copy of the instance._formatNr@   rF   )_getattr_from_dictrH   _copy_kwargs)rJ   rK   r@   rL   rF   rG   rP   I   s   
zFormat._copy_kwargsc                 C   s   | j S )zMThe output format used for rendering
            (``'pdf'``, ``'png'``, ...).)rN   )rJ   rF   rF   rG   r@   P   s   zFormat.formatc                 C   s   |  }| | || _d S )N)rD   _verify_formatrN   )rJ   r@   rF   rF   rG   r@   V   s   

)__name__
__module____qualname____doc__DEFAULT_FORMATrN   staticmethodr   rQ   typingOptionalstrrI   rP   propertyr@   setter__classcell__rF   rF   rL   rG   r   <   s    "r   )rU   rX    r   __all__r   rV   REQUIREDrZ   boolr   ParameterBaser   rF   rF   rF   rG   <module>   s    %	