
    -e                        d Z ddlmZ ddl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	dlmZ d	dlmZ dZ G d de          Zd ZdS )a-   Publish all Bokeh release notes on to a single page.

This directive collect all the release notes files in the ``docs/releases``
subdirectory, and includes them in *reverse version order*. Typical usage:

.. code-block:: rest

    .. toctree::

    .. bokeh-releases::

To avoid warnings about orphaned files, add the following to the Sphinx
``conf.py`` file:

.. code-block:: python

    exclude_patterns = ['docs/releases/*']

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

    )annotationsN)listdir)join)Version)__version__)get_sri_hashes_for_version   )PARALLEL_SAFE)BokehDirective)RELEASE_DETAIL)BokehReleasessetupc                      e Zd Zd ZdS )r   c           
     h   | j         j        j        }d t          t	          |dd                    D             }|                    t          d           g }|D ]}	 t          |          }|                    t          j
        |t          |                                                               [# t          $ rI |t          k    rt          d|          |                    t          j
        |g                      Y w xY w|                     d                    |          d	          S )
Nc                b    g | ],}|                     d           |                    d           -S )z.rst)endswithrstrip).0xs     >lib/python3.11/site-packages/bokeh/sphinxext/bokeh_releases.py
<listcomp>z%BokehReleases.run.<locals>.<listcomp>L   s9    nnn[\[e[efl[m[mnAHHV$$nnn    docsreleasesT)keyreverse)versiontablez*Missing SRI Hash for full release version 
z<bokeh-releases>)envappsrcdirr   r   sortVr   appendr   rendersorteditemsKeyErrorr   RuntimeErrorparse)selfr"   versionsrstvhashess         r   runzBokehReleases.runJ   s4   $nngd66:6V6V.W.Wnnn!T*** 	G 	GAG3A66

>0&BXBXYYYZZZZ G G G##&'YTU'Y'YZZZ

>0"EEEFFFFFG
 zz$))C..*<===s   AB55ADDN)__name__
__module____qualname__r1    r   r   r   r   I   s#        > > > > >r   r   c                F    |                      dt                     t          S )z+ Required Sphinx extension setup function. zbokeh-releases)add_directiver   r
   )r!   s    r   r   r   ]   s    &666r   )__doc__
__future__r   logging	getLoggerr2   logosr   os.pathr   packaging.versionr   r$   bokehr   bokeh.resourcesr    r
   bokeh_directiver   	templatesr   __all__r   r   r5   r   r   <module>rF      s    4 # " " " " " g!!             + * * * * *       6 6 6 6 6 6       + + + + + + % % % % % % %> > > > >N > > >(    r   