
    hje4                        d Z ddlmZ ddlmZ  ej        e          Zddlm	Z	 ddl
mZ ddlmZ ddlmZ dd	lmZ dd
lmZ dZ e            Z G d de          Zd ZddZddZdS )a   Include plot metadata for plots shown in Bokeh gallery examples.

The ``bokeh-example-metadata`` directive can be used by supplying:

    .. bokeh-example-metadata::
        :sampledata: `sampledata_iris`
        :apis: `~bokeh.plotting.figure.vbar`, :func:`~bokeh.transform.factor_cmap`
        :refs: `ug_basic_bars`
        :words: bar, vbar, legend, factor_cmap, palette

To enable this extension, add `"bokeh.sphinxext.bokeh_example_metadata"` to the
extensions list in your Sphinx configuration module.

    )annotations)logging)	unchanged)SphinxError   )PARALLEL_SAFE)BokehDirective)EXAMPLE_METADATA)get_sphinx_resources)BokehExampleMetadataDirectivesetupc                  *    e Zd ZdZdZeeeedZd ZdS )r   Tr   
sampledataapisrefskeywordsc           	        | j                                         | j                                        z  }|st          d          | j                                        | j                                         z
  }|rt          d| d          t	          j        t          | j                            dd                     t          | j                            dd                     | j                            dd          	                    d          d	         | j                            d
d          	                    d          d	                   }| 
                    |d          S )NzBbokeh-example-metadata requires at least one option to be present.z.bokeh-example-metadata unknown options given: .r   r   r    #r   r   r   z<bokeh-example-metadata>)option_speckeysoptionsr   r
   render_sampledataget_apissplitparse)selfpresentextrarst_texts       Flib/python3.11/site-packages/bokeh/sphinxext/bokeh_example_metadata.pyrunz!BokehExampleMetadataDirective.runM   sC   "''))DL,=,=,?,?? 	dbccc!!##d&6&;&;&=&== 	YWuWWWXXX#*"4<#3#3L$#G#GHHt|''5566!!&"--33C88;\%%j"55;;C@@C	
 
 
 zz($>???    N)__name__
__module____qualname__has_contentrequired_argumentsr   r   r&    r'   r%   r   r   A   sM        K  	 K@ @ @ @ @r'   r   c                F    |                      dt                     t          S )z+ Required Sphinx extension setup function. zbokeh-example-metadata)add_directiver   r   )apps    r%   r   r   `   s     .0MNNNr'   mods
str | Nonereturnc                    | d S |                      d          d                                         } d |                      d          D             } d                    d | D                       S )Nr   r   c              3  >   K   | ]}|                                 V  d S Nstrip.0mods     r%   	<genexpr>z_sampledata.<locals>.<genexpr>q   s*      33CCIIKK333333r'   ,, c              3  (   K   | ]}d | d| dV  dS )z:ref:`bokeh.sampledata.z <sampledata_>`Nr-   r9   s     r%   r<   z_sampledata.<locals>.<genexpr>s   s6      YYSHsHHHHHYYYYYYr'   )r   r8   join)r1   s    r%   r   r   j   sm    | ::c??1##%%D334::c??333D99YYTXYYYYYYr'   r   c                &   | d S |                      d          d                                         } g }d |                      d          D             D ]}|                     d          d         }|                    d          r|                    d| d	| d
           Od|v r|                    d| d	| d
           pd|v r|                    d| d	| d
           |                    d| d           d                    |          S )Nr   r   c              3  >   K   | ]}|                                 V  d S r6   r7   )r:   apis     r%   r<   z_apis.<locals>.<genexpr>~   s*      77		777777r'   r=   r   zbokeh.modelsz:class:`bokeh.models.z <r@   zfigure.z:meth:`figure.zGMap.z:meth:`GMap.z:class:``r>   )r   r8   
startswithappendrA   )r   resultsrD   lasts       r%   r   r   u   sH   | ::c??1##%%DG77tzz#777 . .yy~~b! >>.)) 		.NNB4BB3BBBCCCC#NN;D;;C;;;<<<<^^NN9$99#999:::: NN,c,,,----99Wr'   N)r1   r2   r3   r2   )r   r2   r3   r2   )__doc__
__future__r   sphinx.utilr   	getLoggerr(   logdocutils.parsers.rst.directivesr   sphinx.errorsr   r   r   bokeh_directiver	   	templatesr
   utilr   __all__	RESOURCESr   r   r   r   r-   r'   r%   <module>rW      sG   $ # " " " " "       g!! 6 5 5 5 5 5 % % % % % %       + + + + + + ' ' ' ' ' ' & & & & & &
 ! ""	@ @ @ @ @N @ @ @>  	Z 	Z 	Z 	Z     r'   