
¿«‘_Ý  ã               @   sS   d  d l  m Z e ƒ  Z d d d „ Z d d „  Z d d „  Z d	 d
 d „ Z d	 S)é    )ÚlocalFc             C   s@   y t  j d SWn* t t f k
 r; |  s7 t d ƒ ‚ Yn Xd S)a‚  Returns the current click context.  This can be used as a way to
    access the current context object from anywhere.  This is a more implicit
    alternative to the :func:`pass_context` decorator.  This function is
    primarily useful for helpers such as :func:`echo` which might be
    interested in changing its behavior based on the current context.

    To push the current context, :meth:`Context.scope` can be used.

    .. versionadded:: 5.0

    :param silent: if set to `True` the return value is `None` if no context
                   is available.  The default behavior is to raise a
                   :exc:`RuntimeError`.
    é   z!There is no active click context.Néÿÿÿÿ)Ú_localÚstackÚAttributeErrorÚ
IndexErrorÚRuntimeError)Úsilent© r   ú./tmp/pip-build-5gj8f0j9/click/click/globals.pyÚget_current_context   s
    r   c             C   s    t  j j d g  ƒ j |  ƒ d S)z*Pushes a new context to the current stack.r   N)r   Ú__dict__Ú
setdefaultÚappend)Úctxr   r   r   Úpush_context   s    r   c               C   s   t  j j ƒ  d S)z%Removes the top level from the stack.N)r   r   Úpopr   r   r   r   Úpop_context!   s    r   Nc             C   s6   |  d k	 r |  St  d d ƒ } | d k	 r2 | j Sd S)z«"Internal helper to get the default value of the color flag.  If a
    value is passed it's returned unchanged, otherwise it's looked up from
    the current context.
    Nr
   T)r   Úcolor)r   r   r   r   r   Úresolve_color_default&   s
    r   )Ú	threadingr   r   r   r   r   r   r   r   r   r   Ú<module>   s
   	