Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
contego / home / tvault / .virtenv / lib / python2.7 / site-packages / jsonpointer.pyc
Size: Mime:
ó
ŽEYc@sgddlmZyddlmZmZWn'ek
rSddlmZmZnXdZdZdZ	dZ
y*ddlmZddl
mZeZWn'ek
r¿ddlmZeZnXdd	l
mZdd
lZdd
lZejdƒZdefd
„ƒYZdefd„ƒYZeƒZed„Zed„Zdefd„ƒYZ d„Z!d
S(iÿÿÿÿ(tunicode_literals(tMappingtSequenceu Stefan Kögl <stefan@skoegl.net>u1.10u2https://github.com/stefankoegl/python-json-pointeruModified BSD License(tunquote(tizip(tteeNu0|[1-9][0-9]*$tJsonPointerExceptioncBseZRS((t__name__t
__module__(((s@/home/tvault/.virtenv/lib/python2.7/site-packages/jsonpointer.pyRBst	EndOfListcBs eZdZd„Zd„ZRS(u+ Result of accessing element "-" of a list cCs
||_dS(N(tlist_(tselfR
((s@/home/tvault/.virtenv/lib/python2.7/site-packages/jsonpointer.pyt__init__IscCs%djd|jjdt|jƒƒS(Nu{cls}({lst})tclstlst(tformatt	__class__RtreprR
(R((s@/home/tvault/.virtenv/lib/python2.7/site-packages/jsonpointer.pyt__repr__Ms(RRt__doc__RR(((s@/home/tvault/.virtenv/lib/python2.7/site-packages/jsonpointer.pyR	Fs	cCst|ƒ}|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

    (tJsonPointertresolve(tdoctpointertdefault((s@/home/tvault/.virtenv/lib/python2.7/site-packages/jsonpointer.pytresolve_pointerUscCst|ƒ}|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

    (Rtset(RRtvaluetinplace((s@/home/tvault/.virtenv/lib/python2.7/site-packages/jsonpointer.pytset_pointerrsRcBs’eZdZd„Zd„Zed„ZeZed„Z	d„Z
d„Zd„Zd„Z
ed	„ƒZd
„Zd„Zed„ƒZRS(
u= A JSON Pointer that can reference parts of an JSON document cCs™|jdƒ}|jdƒdkr3tdƒ‚ntt|ƒ}g|D]}|jddƒ^qI}g|D]}|jddƒ^qn}||_dS(Nu/iuulocation must starts with /u~1u~0u~(tsplittpopRtmapRtreplacetparts(RRR"tpart((s@/home/tvault/.virtenv/lib/python2.7/site-packages/jsonpointer.pyRŒs%%cCsZ|js|dfSx'|jd D]}|j||ƒ}q!W||j||jdƒfS(u@ Resolves ptr until the last step, returns (sub-doc, last-step) iÿÿÿÿN(R"tNonetwalktget_part(RRR#((s@/home/tvault/.virtenv/lib/python2.7/site-packages/jsonpointer.pytto_last—s
	
cCsXxQ|jD]F}y|j||ƒ}Wq
tk
rO|tkrH‚qP|Sq
Xq
W|S(uBResolves the pointer against doc and returns the referenced object(R"R%Rt_nothing(RRRR#((s@/home/tvault/.virtenv/lib/python2.7/site-packages/jsonpointer.pyR£s
cCsit|jƒdkr.|r*tdƒ‚n|S|sFtj|ƒ}n|j|ƒ\}}|||<|S(uH Resolve the pointer against the doc and replace the target with value. iucannot set root in place(tlenR"RtcopytdeepcopyR'(RRRRtparentR#((s@/home/tvault/.virtenv/lib/python2.7/site-packages/jsonpointer.pyRµs
cCs”t|tƒr|St|tƒrg|dkr2|Stjt|ƒƒs]td|fƒ‚nt|ƒSt|dƒrz|Stdt	|ƒƒ‚dS(u+ Returns the next step in the correct type u-u'%s' is not a valid list indexu__getitem__uQDocument '%s' does not support indexing, must be dict/list or support __getitem__N(
t
isinstanceRRtRE_ARRAY_INDEXtmatchtstrRtintthasattrttype(RRR#((s@/home/tvault/.virtenv/lib/python2.7/site-packages/jsonpointer.pyR&Ås
cCs|j||ƒ}t|ƒttfksRt|dƒsRtdt|ƒfƒ‚t|tƒršy||SWqýtk
r–t	d||fƒ‚qýXnct|t
ƒrõ|dkr¿t|ƒSy||SWqýtk
rñt	d|fƒ‚qýXn||SdS(u7 Walks one step in doc and returns the referenced part u__getitem__uinvalid document type %sumember '%s' not found in %su-uindex '%s' is out of boundsN(
R&R3tdicttlistR2tAssertionErrorR-RtKeyErrorRRR	t
IndexError(RRR#((s@/home/tvault/.virtenv/lib/python2.7/site-packages/jsonpointer.pyR%Þs@


cCs|jt|jƒ |jkS(u+Returns True if self contains the given ptr(R"R)(Rtptr((s@/home/tvault/.virtenv/lib/python2.7/site-packages/jsonpointer.pytcontainsûscCs
|j|ƒS(u+Returns True if self contains the given ptr(R:(Rtitem((s@/home/tvault/.virtenv/lib/python2.7/site-packages/jsonpointer.pyt__contains__ÿscCsdg|jD]}|jddƒ^q
}g|D]}|jddƒ^q/}djd„|DƒƒS(ux Returns the string representation of the pointer

        >>> ptr = JsonPointer('/~0/0/~1').path == '/~0/0/~1'
        u~u~0u/u~1ucss|]}d|VqdS(u/N((t.0R#((s@/home/tvault/.virtenv/lib/python2.7/site-packages/jsonpointer.pys	<genexpr>s(R"R!tjoin(RR#R"((s@/home/tvault/.virtenv/lib/python2.7/site-packages/jsonpointer.pytpaths(%cCs#t|tƒstS|j|jkS(uÿ compares a pointer to another object

        Pointers can be compared by comparing their strings (or splitted
        strings), because no two different parts can point to the same
        structure in an object (eg no different number representations) (R-RtFalseR"(Rtother((s@/home/tvault/.virtenv/lib/python2.7/site-packages/jsonpointer.pyt__eq__
scCstt|jƒƒS(N(thashttupleR"(R((s@/home/tvault/.virtenv/lib/python2.7/site-packages/jsonpointer.pyt__hash__scCsŒg|D]}t|ƒ^q}g|D]}|jddƒ^q&}g|D]}|jddƒ^qK}|djd„|Dƒƒƒ}|S(u Constructs a JsonPointer from a list of (unescaped) paths

        >>> JsonPointer.from_parts(['a', '~', '/', 0]).path == '/a/~0/~1/0'
        True
        u~u~0u/u~1ucss|]}d|VqdS(u/N((R=R#((s@/home/tvault/.virtenv/lib/python2.7/site-packages/jsonpointer.pys	<genexpr>'s(R0R!R>(R
R"R#R9((s@/home/tvault/.virtenv/lib/python2.7/site-packages/jsonpointer.pyt
from_partss
%%(RRRRR'R(RtgettTrueRR&R%R:R<tpropertyR?RBREtclassmethodRF(((s@/home/tvault/.virtenv/lib/python2.7/site-packages/jsonpointer.pyR‰s						
	
	cCs1t|ƒ\}}x|D]}PqWt||ƒS(u´ s -> (s0,s1), (s1,s2), (s2, s3), ...

    >>> list(pairwise([]))
    []

    >>> list(pairwise([1]))
    []

    >>> list(pairwise([1, 2, 3, 4]))
    [(1, 2), (2, 3), (3, 4)]
    (RR(titerabletatbt_((s@/home/tvault/.virtenv/lib/python2.7/site-packages/jsonpointer.pytpairwise,s
("t
__future__Rtcollections.abcRRtImportErrortcollectionst
__author__t__version__t__website__t__license__turllibRt	itertoolsRtunicodeR0turllib.parsetzipRtreR*tcompileR.t	ExceptionRtobjectR	R(RRHRRRO(((s@/home/tvault/.virtenv/lib/python2.7/site-packages/jsonpointer.pyt<module>!s4



	£