ó
ħÍ˙\c           @@  sÇ   d  Z  d d l m Z d d l Z d d l Z d d l m Z d d l	 m
 Z
 e j d k  r d d l m Z d d d d	  Z n d d l m Z e j d k  r§ e n e Z d e f d     YZ d S(   s   
Partial backport of Python 3.5's tempfile module:

    TemporaryDirectory

Backport modifications are marked with marked with "XXX backport".
i    (   t   absolute_importN(   t   rmtree(   t   finalizei   i   (   t   mkdtempc         C@  s5   d   t  d |  d | d |  j   D } t |   S(   se   
        Wrap `tempfile.mkdtemp()` to make the suffix and prefix optional (like Python 3.5).
        c         S@  s+   i  |  ]! \ } } | d  k	 r | |  q S(   N(   t   None(   t   .0t   kt   v(    (    s1   lib/python2.7/site-packages/backports/tempfile.pys
   <dictcomp>   s   	 	t   suffixt   prefixt   dir(   t   dictt   itemst   old_mkdtemp(   R   R	   R
   t   kwargs(    (    s1   lib/python2.7/site-packages/backports/tempfile.pyR      s    %i   t   TemporaryDirectoryc           B@  sS   e  Z d  Z d d d d  Z e d    Z d   Z d   Z d   Z	 d   Z
 RS(   s+  Create and return a temporary directory.  This has the same
    behavior as mkdtemp but can be used as a context manager.  For
    example:

        with TemporaryDirectory() as tmpdir:
            ...

    Upon exiting the context, the directory and everything contained
    in it are removed.
    c         C@  sC   t  | | |  |  _ t |  |  j |  j d d j |   |  _ d  S(   Nt   warn_messages   Implicitly cleaning up {!r}(   R   t   nameR   t   _cleanupt   formatt
   _finalizer(   t   selfR   R	   R
   (    (    s1   lib/python2.7/site-packages/backports/tempfile.pyt   __init__4   s    c         C@  s   t  |  t j | t  d  S(   N(   t   _rmtreet	   _warningst   warnt   _ResourceWarning(   t   clsR   R   (    (    s1   lib/python2.7/site-packages/backports/tempfile.pyR   :   s    
c         C@  s   d j  |  j j |  j  S(   Ns	   <{} {!r}>(   R   t	   __class__t   __name__R   (   R   (    (    s1   lib/python2.7/site-packages/backports/tempfile.pyt   __repr__@   s    c         C@  s   |  j  S(   N(   R   (   R   (    (    s1   lib/python2.7/site-packages/backports/tempfile.pyt	   __enter__C   s    c         C@  s   |  j    d  S(   N(   t   cleanup(   R   t   exct   valuet   tb(    (    s1   lib/python2.7/site-packages/backports/tempfile.pyt   __exit__F   s    c         C@  s#   |  j  j   r t |  j  n  d  S(   N(   R   t   detachR   R   (   R   (    (    s1   lib/python2.7/site-packages/backports/tempfile.pyR    I   s    N(   R   t
   __module__t   __doc__R   R   t   classmethodR   R   R   R$   R    (    (    (    s1   lib/python2.7/site-packages/backports/tempfile.pyR   (   s   
			(   i   i   (   i   i   (   R'   t
   __future__R    t   syst   warningsR   t   shutilR   R   t   backports.weakrefR   t   version_infot   tempfileR   R   R   t   RuntimeWarningt   ResourceWarningR   t   objectR   (    (    (    s1   lib/python2.7/site-packages/backports/tempfile.pyt   <module>   s   
