ó
ž›V]c           @   sÃ  d  Z  d d l Z d d l Z d d l Z y d d l m Z m Z Wn' e k
 rm d d l m Z m Z n Xe j	 d d k Z
 e
 re Z d d l m Z d d l m Z d d l m Z m Z m Z m Z m Z d d	 l m Z m Z e f Z e f Z e j d
 ƒ Z  nž d d l! m" Z d d l m# Z d d l$ m Z m Z m Z m Z d d l% m Z m Z d d l& Z& d „  Z e' Z e e( f Z e j d ƒ Z  d d l) m Z d „  Z d „  Z* d S(   sK   
Python 2/3 compatibility helpers.

Note: This module is *not* public API.
iÿÿÿÿN(   t   MutableMappingt   Sequencei    i   (   t	   lru_cache(   t   StringIO(   t   unquotet   urljoint
   urlunsplitt   SplitResultt   urlsplit(   t   pathname2urlt   urlopent   items(   t   izip(   t   BytesIO(   R   R   R   R   (   R	   R   c          O   s   t  j t j |  | Ž  ƒ S(   N(   t
   contextlibt   closingt   urllib2R
   (   t   argst   kwargs(    (    s0   lib/python2.7/site-packages/jsonschema/compat.pyR
   %   s    t	   iteritemsc         C   sX   t  |  ƒ \ } } } } } d | k rB | j d d ƒ \ } } n  t | | | | | ƒ S(   Nt   #i   (   t	   _urlsplitt   splitR   (   t   urlt   schemet   netloct   patht   queryt   fragment(    (    s0   lib/python2.7/site-packages/jsonschema/compat.pyR   0   s    c         C   s[   d |  k rE t  |  ƒ \ } } } } } t | | | | d f ƒ } n |  } d } | | f S(   NR   t    (   R   R   (   R   t   st   nt   pt   qt   fragt   defrag(    (    s0   lib/python2.7/site-packages/jsonschema/compat.pyt	   urldefrag7   s    (+   t   __doc__R   t   operatort   syst   collections.abcR    R   t   ImportErrort   collectionst   version_infot   PY3t   zipt	   functoolsR   t   ioR   t   NativeIOt   urllib.parseR   R   R   R   R   R   t   urllib.requestR	   R
   t   strt	   str_typest   intt	   int_typest   methodcallerR   t	   itertoolsR   R   t   urlparset   urllibR   t
   basestringt   longt   functools32R$   (    (    (    s0   lib/python2.7/site-packages/jsonschema/compat.pyt   <module>   s:   (		"		