ó
öÀ„\c           @   s  d  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 m Z d d l m Z d d	 l m Z d d
 l m Z d d l m Z e rñ d d l m Z m Z m Z d d l m Z d d l m Z n  i e d ƒ d 6e d ƒ d 6e d ƒ d 6Z e e d e ƒ e	 _ e d d d d d d d g ƒ Z d e f d „  ƒ  YZ  d e f d  „  ƒ  YZ! d! „  Z" d" S(#   sÈ   
    sphinx.domains.changeset
    ~~~~~~~~~~~~~~~~~~~~~~~~

    The changeset domain.

    :copyright: Copyright 2007-2019 by the Sphinx team, see AUTHORS.
    :license: BSD, see LICENSE for details.
iÿÿÿÿ(   t
   namedtuple(   t   nodes(   t	   iteritems(   t   addnodes(   t   locale(   t   DeprecatedDictt   RemovedInSphinx30Warning(   t   Domain(   t   _(   t   SphinxDirective(   t   set_source_info(   t   Anyt   Dictt   List(   t   Sphinx(   t   BuildEnvironments   New in version %st   versionaddeds   Changed in version %st   versionchangeds   Deprecated since version %st
   deprecatedse   sphinx.locale.versionlabels is deprecated. Please use sphinx.domains.changeset.versionlabels instead.t	   ChangeSett   typet   docnamet   linenot   modulet   descnamet   contentt   VersionChangec           B   s5   e  Z d  Z e Z d Z d Z e Z i  Z d „  Z	 RS(   sT   
    Directive to describe a change/addition/deprecation in a specific version.
    i   c         C   sC  t  j ƒ  } |  j j | _ t |  | ƒ |  j | d <|  j d | d <t |  j |  j d } t |  j ƒ d k rÛ |  j j	 |  j d |  j
 d ƒ \ } } t j |  j d d d t | Œ} t |  | ƒ | j | ƒ n g  } |  j r	|  j j |  j |  j | ƒ n  t | ƒ rÞt | d t j ƒ r®| d j r®t j | d j d t ƒ} | d j | _ | d j | _ | | d j 7} | d j t j d d | d t ƒƒ n  | d j d t j d d | d	 d
 g ƒƒ nA t j d d t j d d | d	 d
 g ƒd t ƒ} | j | ƒ |  j j d ƒ j | ƒ | g | S(   NR   i    t   versioni   i   t    t   translatables   %s: t   classest   versionmodifieds   %s.t	   changeset(   R   R   t   statet   documentR
   t   namet	   argumentst   versionlabelst   lent   inline_textR   R   t	   paragrapht   Falset   appendR   t   nested_parset   content_offsett
   isinstancet	   rawsourcet   inlinet   Truet   sourcet   linet   childrent   replace_selft   insertt   envt
   get_domaint   note_changeset(   t   selft   nodet   textt   inodest   messagest   paraR   (    (    s7   lib/python2.7/site-packages/sphinx/domains/changeset.pyt   run>   s>    "	#) 	(
   t   __name__t
   __module__t   __doc__R0   t   has_contentt   required_argumentst   optional_argumentst   final_argument_whitespacet   option_specR?   (    (    (    s7   lib/python2.7/site-packages/sphinx/domains/changeset.pyR   4   s   t   ChangeSetDomainc           B   sT   e  Z d  Z d Z d Z i i  d 6Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 RS(   s   Domain for changesets.R    t   changesc         C   sY   xR t  |  j d ƒ D]= \ } } x. | D]% } | j | k r( | j | ƒ q( q( Wq Wd  S(   NRI   (   R   t   dataR   t   remove(   R9   R   R   RI   R    (    (    s7   lib/python2.7/site-packages/sphinx/domains/changeset.pyt	   clear_docn   s     c         C   sn   xg t  | d ƒ D]U \ } } |  j d j | g  ƒ } x- | D]% } | j | k r= | j | ƒ q= q= Wq Wd  S(   NRI   (   R   RJ   t
   setdefaultR   R*   (   R9   t   docnamest	   otherdataR   t   otherchangesRI   R    (    (    s7   lib/python2.7/site-packages/sphinx/domains/changeset.pyt   merge_domaindatau   s
    c         C   s   d  S(   N(    (   R9   R6   R   R"   (    (    s7   lib/python2.7/site-packages/sphinx/domains/changeset.pyt   process_doc~   s    c         C   s†   | d } |  j  j j d ƒ } |  j  j j d ƒ } t | d |  j  j | j | | | j ƒ  ƒ } |  j d j	 | g  ƒ j
 | ƒ d  S(   NR   s	   py:modulet   objectR   RI   (   R6   t   ref_contextt   gett	   temp_dataR   R   R2   t   astextRJ   RM   R*   (   R9   R:   R   R   t   objnameR    (    (    s7   lib/python2.7/site-packages/sphinx/domains/changeset.pyR8   ‚   s    
c         C   s   |  j  d j | g  ƒ S(   NRI   (   RJ   RU   (   R9   R   (    (    s7   lib/python2.7/site-packages/sphinx/domains/changeset.pyt   get_changesets_for‹   s    (   R@   RA   RB   R#   t   labelt   initial_dataRL   RQ   RR   R8   RY   (    (    (    s7   lib/python2.7/site-packages/sphinx/domains/changeset.pyRH   d   s   
						c         C   s]   |  j  t ƒ |  j d t ƒ |  j d t ƒ |  j d t ƒ i d d 6d d 6t d 6t d	 6S(
   NR   R   R   t   builtinR   i   t   env_versiont   parallel_read_safet   parallel_write_safe(   t
   add_domainRH   t   add_directiveR   R0   (   t   app(    (    s7   lib/python2.7/site-packages/sphinx/domains/changeset.pyt   setup   s    N(#   RB   t   collectionsR    t   docutilsR   t   sixR   t   sphinxR   R   t   sphinx.deprecationR   R   t   sphinx.domainsR   t   sphinx.localeR   t   sphinx.util.docutilsR	   t   sphinx.util.nodesR
   R)   t   typingR   R   R   t   sphinx.applicationR   t   sphinx.environmentR   R%   R   R   RH   Rc   (    (    (    s7   lib/python2.7/site-packages/sphinx/domains/changeset.pyt   <module>
   s6   0,