B
    @\N                 @   s~   d Z ddlmZmZmZmZ ddlZee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 deZd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:: rst

    :tocdepth: 1

    .. 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/*']

    )absolute_importdivisionprint_functionunicode_literalsN)listdir)join)Version   )BokehDirective)BokehReleasessetupc               @   s   e Zd Zdd ZdS )r   c             C   sl   | j jjj}|j}g }dd tt|jddD }|jt	dd x&|D ]}| 
d| d}|| qFW |S )	Nc             S   s   g | ]}| d qS )z.rst)rstrip).0x r   =lib/python3.7/site-packages/bokeh/sphinxext/bokeh_releases.py
<listcomp>L   s    z%BokehReleases.run.<locals>.<listcomp>ZdocsZreleasesT)keyreversez.. include:: releases/%s.rstz<bokeh-releases>)stateZdocumentZsettingsenvappr   r   ZsrcdirsortV_parseextend)selfr   r   ZrstZversionsventryr   r   r   runF   s    
zBokehReleases.runN)__name__
__module____qualname__r   r   r   r   r   r   D   s   r   c             C   s   |  dt d S )Nzbokeh-releases)Zadd_directiver   )r   r   r   r   r   U   s    r   )__doc__Z
__future__r   r   r   r   ZloggingZ	getLoggerr    logosr   os.pathr   Zpackaging.versionr   r   Zbokeh_directiver
   __all__r   r   r   r   r   r   <module>   s   
