ó
 \c           @   sŁ   y d  d l  m Z Wn! e k
 r7 d  d l m Z n Xd  d l Z d  d l Z d  d l Z d  d l m Z d  d l	 Z	 e j
 d  Z d   Z e d    Z d S(   i˙˙˙˙(   t   urlopenN(   t   contextmanagers'   http://|https://|ftp://|file://|file:\\c         C   s%   t  |  t j  o$ t j |   d k	 S(   s-   Return True if string is an http or ftp path.N(   t
   isinstancet   sixt   string_typest	   URL_REGEXt   matcht   None(   t   filename(    (    s.   lib/python2.7/site-packages/skimage/io/util.pyt   is_url   s    c         c   s   t  |   r t j j |   \ } } zL t j d t d |  & } t |   } | j | j	    Wd QX| j
 VWd t j | j
  Xn |  Vd S(   s>   Yield name of file from the given resource (i.e. file or url).t   deletet   suffixN(   R	   t   ost   patht   splitextt   tempfilet   NamedTemporaryFilet   FalseR    t   writet   readt   namet   remove(   t   resource_namet   _t   extt   ft   u(    (    s.   lib/python2.7/site-packages/skimage/io/util.pyt   file_or_url_context   s    (   t   urllib.requestR    t   ImportErrort   urllib2R   t   reR   t
   contextlibR   R   t   compileR   R	   R   (    (    (    s.   lib/python2.7/site-packages/skimage/io/util.pyt   <module>   s   	