Repository URL to install this package:
|
Version:
3.3.30 ▾
|
ó
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&