B
    [                 @   s0   d Z ddlmZ ddlmZ G dd deZdS )a  
    sphinxcontrib.websupport.writer
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    sphinxcontrib.websupport writer that adds comment-related annotations.

    :copyright: Copyright 2007-2016 by the Sphinx team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    )HTMLTranslator)is_commentablec               @   s0   e Zd ZdZdd Zdd Zdd Zdd	 Zd
S )WebSupportTranslatorz%
    Our custom HTML translator.
    c             O   s   t j| |f|| d| _d S )Nzsphinx-has-comment)r   __init__comment_class)selfbuilderargskwargs r   >lib/python3.7/site-packages/sphinxcontrib/websupport/writer.pyr      s    zWebSupportTranslator.__init__c             C   s,   t |rt|dr| | t| | d S )Nuid)r   hasattrhandle_visit_commentabler   dispatch_visit)r   noder   r   r   r      s    
z#WebSupportTranslator.dispatch_visitc             C   sV   |  | |jd r.| jd|jd d   d|j g|jd< |jd | j d S )NZidsz<span id="%s"></span>r   zs%sclasses)add_db_nodeZ
attributesZbodyappendr   r   )r   r   r   r   r   r      s    

z-WebSupportTranslator.handle_visit_commentablec             C   s8   | j j}||js4|j|j| j j|jp.| d d S )N)idZdocumentsource)r   storageZhas_noder   Zadd_nodeZcurrent_docnameZ	rawsourceZastext)r   r   r   r   r   r   r   )   s
    z WebSupportTranslator.add_db_nodeN)__name__
__module____qualname____doc__r   r   r   r   r   r   r   r   r      s
   r   N)r   Zsphinx.writers.htmlr   Zsphinx.util.websupportr   r   r   r   r   r   <module>
   s   