Repository URL to install this package:
| 
      
        
        
        Version: 
        
         
          
          3.0.176  ▾
        
         | 
| 
    
    tvault-contego-common
  
    /
        
    home
  
        /
        
    tvault
  
        /
        
    .virtenv
  
        /
        
    lib
  
        /
        
    python2.7
  
        /
        
    site-packages
  
        /
        jsonpointer.pyc
   | 
|---|
ó
EYc           @  sg  d  d l  m Z y d  d l m Z m Z Wn' e k
 rS d  d l m Z m Z n Xd Z d Z d Z	 d Z
 y* d  d l m Z d  d l
 m Z e Z Wn' e k
 r¿ d  d l m Z e Z n Xd  d	 l
 m Z d  d
 l Z d  d
 l Z e j d  Z d e f d
     YZ d e f d     YZ e   Z e d  Z e d  Z d e f d     YZ  d   Z! d
 S(   iÿÿÿÿ(   t   unicode_literals(   t   Mappingt   Sequenceu    Stefan Kögl <stefan@skoegl.net>u   1.10u2   https://github.com/stefankoegl/python-json-pointeru   Modified BSD License(   t   unquote(   t   izip(   t   teeNu   0|[1-9][0-9]*$t   JsonPointerExceptionc           B  s   e  Z RS(    (   t   __name__t
   __module__(    (    (    s@   /home/tvault/.virtenv/lib/python2.7/site-packages/jsonpointer.pyR   B   s   t	   EndOfListc           B  s    e  Z d  Z d   Z d   Z RS(   u+    Result of accessing element "-" of a list c         C  s
   | |  _  d  S(   N(   t   list_(   t   selfR
   (    (    s@   /home/tvault/.virtenv/lib/python2.7/site-packages/jsonpointer.pyt   __init__I   s    c         C  s%   d j  d |  j j d t |  j   S(   Nu   {cls}({lst})t   clst   lst(   t   formatt	   __class__R   t   reprR
   (   R   (    (    s@   /home/tvault/.virtenv/lib/python2.7/site-packages/jsonpointer.pyt   __repr__M   s    (   R   R   t   __doc__R   R   (    (    (    s@   /home/tvault/.virtenv/lib/python2.7/site-packages/jsonpointer.pyR	   F   s   	c         C  s   t  |  } | j |  |  S(   un  
    Resolves pointer against doc and returns the referenced object
    >>> obj = {"foo": {"anArray": [ {"prop": 44}], "another prop": {"baz": "A string" }}}
    >>> resolve_pointer(obj, '') == obj
    True
    >>> resolve_pointer(obj, '/foo') == obj['foo']
    True
    >>> resolve_pointer(obj, '/foo/another%20prop') == obj['foo']['another prop']
    True
    >>> resolve_pointer(obj, '/foo/another%20prop/baz') == obj['foo']['another prop']['baz']
    True
    >>> resolve_pointer(obj, '/foo/anArray/0') == obj['foo']['anArray'][0]
    True
    >>> resolve_pointer(obj, '/some/path', None) == None
    True
    (   t   JsonPointert   resolve(   t   doct   pointert   default(    (    s@   /home/tvault/.virtenv/lib/python2.7/site-packages/jsonpointer.pyt   resolve_pointerU   s    c         C  s   t  |  } | j |  | |  S(   uV  
    Resolves pointer against doc and sets the value of the target within doc.
    With inplace set to true, doc is modified as long as pointer is not the
    root.
    >>> obj = {"foo": {"anArray": [ {"prop": 44}], "another prop": {"baz": "A string" }}}
    >>> set_pointer(obj, '/foo/anArray/0/prop', 55) ==     {'foo': {'another prop': {'baz': 'A string'}, 'anArray': [{'prop': 55}]}}
    True
    >>> set_pointer(obj, '/foo/yet%20another%20prop', 'added prop') ==     {'foo': {'another prop': {'baz': 'A string'}, 'yet another prop': 'added prop', 'anArray': [{'prop': 55}]}}
    True
    (   R   t   set(   R   R   t   valuet   inplace(    (    s@   /home/tvault/.virtenv/lib/python2.7/site-packages/jsonpointer.pyt   set_pointerr   s    R   c           B  s   e  Z d  Z d   Z d   Z e d  Z e Z e d  Z	 d   Z
 d   Z d   Z d   Z
 e d	    Z d
   Z d   Z e d    Z RS(
   u=    A JSON Pointer that can reference parts of an JSON document c         C  s   | j  d  } | j d  d k r3 t d   n  t t |  } g  | D] } | j d d  ^ qI } g  | D] } | j d d  ^ qn } | |  _ d  S(   Nu   /i    u    u   location must starts with /u   ~1u   ~0u   ~(   t   splitt   popR   t   mapR   t   replacet   parts(   R   R   R"   t   part(    (    s@   /home/tvault/.virtenv/lib/python2.7/site-packages/jsonpointer.pyR      s    %%c         C  sZ   |  j  s | d f Sx' |  j  d  D] } |  j | |  } q! W| |  j | |  j  d  f S(   u@    Resolves ptr until the last step, returns (sub-doc, last-step) iÿÿÿÿN(   R"   t   Nonet   walkt   get_part(   R   R   R#   (    (    s@   /home/tvault/.virtenv/lib/python2.7/site-packages/jsonpointer.pyt   to_last   s
    	
c         C  sX   xQ |  j  D]F } y |  j | |  } Wq
 t k
 rO | t k rH   qP | Sq
 Xq
 W| S(   uB   Resolves the pointer against doc and returns the referenced object(   R"   R%   R   t   _nothing(   R   R   R   R#   (    (    s@   /home/tvault/.virtenv/lib/python2.7/site-packages/jsonpointer.pyR   £   s    
c         C  si   t  |  j  d k r. | r* t d   n  | S| sF t j |  } n  |  j |  \ } } | | | <| S(   uH    Resolve the pointer against the doc and replace the target with value. i    u   cannot set root in place(   t   lenR"   R   t   copyt   deepcopyR'   (   R   R   R   R   t   parentR#   (    (    s@   /home/tvault/.virtenv/lib/python2.7/site-packages/jsonpointer.pyR   µ   s    
c         C  s   t  | t  r | St  | t  rg | d k r2 | St j t |   s] t d | f   n  t |  St | d  rz | St d t	 |    d S(   u+    Returns the next step in the correct type u   -u   '%s' is not a valid list indexu   __getitem__uQ   Document '%s' does not support indexing, must be dict/list or support __getitem__N(
   t
   isinstanceR   R   t   RE_ARRAY_INDEXt   matcht   strR   t   intt   hasattrt   type(   R   R   R#   (    (    s@   /home/tvault/.virtenv/lib/python2.7/site-packages/jsonpointer.pyR&