ó
öĀ\c           @  s  d  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 e r d d l m Z m Z m Z m Z n  i d d	 6d
 d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d d 6d  d! 6d" d# 6d$ d% 6Z d& e f d'     YZ d( S()   sė   
    sphinx.events
    ~~~~~~~~~~~~~

    Sphinx core events.

    Gracefully adapted from the TextPress system by Armin.

    :copyright: Copyright 2007-2019 by the Sphinx team, see AUTHORS.
    :license: BSD, see LICENSE for details.
iĸĸĸĸ(   t   print_function(   t   OrderedDictt   defaultdict(   t
   itervalues(   t   ExtensionError(   t   __(   t   Anyt   Callablet   Dictt   Listt    s   builder-initedt   configs   config-initeds   env, added, changed, removeds   env-get-outdatedt   envs   env-get-updateds   env, docnames   env-purge-docs   env, docnamess   env-before-read-docss   env-check-consistencys   docname, source texts   source-reads    the doctree before being pickleds   doctree-reads&   env, read docnames, other env instances   env-merge-infos   env, node, contnodes   missing-references   doctree, docnames   doctree-resolveds   env-updatedt   builders   html-collect-pagess"   pagename, context, doctree or Nones   html-page-contextt	   exceptions   build-finishedt   EventManagerc           B  s>   e  Z d    Z d   Z d   Z d   Z d   Z d   Z RS(   c         C  s+   t  j   |  _ t t  |  _ d |  _ d  S(   Ni    (   t   core_eventst   copyt   eventsR   R   t	   listenerst   next_listener_id(   t   self(    (    s,   lib/python2.7/site-packages/sphinx/events.pyt   __init__1   s    c         C  s9   | |  j  k r( t t d  |   n  d |  j  | <d  S(   Ns   Event %r already presentR
   (   R   R   R   (   R   t   name(    (    s,   lib/python2.7/site-packages/sphinx/events.pyt   add7   s    c         C  sU   | |  j  k r( t t d  |   n  |  j } |  j d 7_ | |  j | | <| S(   Ns   Unknown event name: %si   (   R   R   R   R   R   (   R   R   t   callbackt   listener_id(    (    s,   lib/python2.7/site-packages/sphinx/events.pyt   connect=   s    	c         C  s.   x' t  |  j  D] } | j | d   q Wd  S(   N(   R   R   t   popt   None(   R   R   t   event(    (    s,   lib/python2.7/site-packages/sphinx/events.pyt
   disconnectG   s    c         G  s;   g  } x. t  |  j |  D] } | j | |    q W| S(   N(   R   R   t   append(   R   R   t   argst   resultsR   (    (    s,   lib/python2.7/site-packages/sphinx/events.pyt   emitL   s    c         G  s1   x* |  j  | |  D] } | d  k	 r | Sq Wd  S(   N(   R#   R   (   R   R   R!   t   result(    (    s,   lib/python2.7/site-packages/sphinx/events.pyt   emit_firstresultS   s    (   t   __name__t
   __module__R   R   R   R   R#   R%   (    (    (    s,   lib/python2.7/site-packages/sphinx/events.pyR   0   s   			
		N(   t   __doc__t
   __future__R    t   collectionsR   R   t   sixR   t   sphinx.errorsR   t   sphinx.localeR   t   Falset   typingR   R   R   R	   R   t   objectR   (    (    (    s,   lib/python2.7/site-packages/sphinx/events.pyt   <module>   s2   %
