
    ci	                     x    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Z
 G d dej                        Zy)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                    | |rt        d      y | j                         t        vrt        d| dt        t               d      y )Nzmissing formatzunknown format: z (must be one of ))
ValueErrorlowerr   sorted)rA   r@   s     B/tmp/pip-target-z3e9_cxr/lib/python/graphviz/parameters/formats.pyr   r   3   sX    ~-.. 	w	&+F:,VG_,=Q@ A 	A 
'    c                        e Zd ZdZeZ ee      Zddde	j                  e   ddf fdZ fdZedefd       Zej                   deddfd	       Z xZS )
r   z2Rendering format parameter with ``'pdf'`` default.N)rA   rA   rB   c                8    t        |   di | ||| _        y y )N )super__init__rA   )selfrA   kwargs	__class__s      rH   rN   zFormat.__init__C   s%    "6" DK rI   c                 R    | j                  d      }|||d<   t        |   di |S )z3Return the kwargs to create a copy of the instance._formatrA   rL   )_getattr_from_dictrM   _copy_kwargs)rO   rP   rA   rQ   s      rH   rU   zFormat._copy_kwargsI   s6    ((3%F8w#-f--rI   c                     | j                   S )zMThe output format used for rendering
            (``'pdf'``, ``'png'``, ...).)rS   )rO   s    rH   rA   zFormat.formatP   s     ||rI   c                 T    |j                         }| j                  |       || _        y )N)rF   _verify_formatrS   )rO   rA   s     rH   rA   zFormat.formatV   s"    F#rI   )__name__
__module____qualname____doc__DEFAULT_FORMATrS   staticmethodr   rX   typingOptionalstrrN   rU   propertyrA   setter__classcell__)rQ   s   @rH   r   r   <   sz    <G!-0N9= !&//#"6 !D !.   
 ]]S T  rI   r   )r\   r_    r   __all__r   r]   REQUIREDra   boolr   ParameterBaser   rL   rI   rH   <module>rj      s\    *  
0#J  4< A# AD A AT rI   