|
Server : Apache System : Linux server.mata-lashes.com 3.10.0-1160.90.1.el7.x86_64 #1 SMP Thu May 4 15:21:22 UTC 2023 x86_64 User : matalashes ( 1004) PHP Version : 8.1.29 Disable Function : NONE Directory : /usr/local/lib/python3.6/site-packages/__pycache__/ |
Upload File : |
3
G�Kd�* � @ s d Z ddlmZ dZdZdZdZyddlmZ e Z
dd � ZW n ek
r\ e
Zd
d � ZY nX yddlmZmZ W n$ ek
r� ddlmZmZ Y nX ddlmZmZ dd
lZdd
lZe� Zddd�Zefdd�Zdd� ZG dd� de�ZG dd� de�ZG dd� de�Zdd� Zdd� Z d
S ) z7 Identify specific nodes in a JSON document (RFC 6901) � )�unicode_literalsu Stefan Kögl <stefan@skoegl.net>z2.3z2https://github.com/stefankoegl/python-json-pointerzModified BSD License)�izipc C s
| j d�S )NZraw_unicode_escape)�encode)�u� r �2/tmp/pip-build-8nxjc3nm/jsonpointer/jsonpointer.py�<lambda>/ s r c C s | S )Nr )r r r r r 2 s )�Mapping�Sequence)�tee�chainNTc C s t |�}|j| ||�S )a� 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 another prop', 'added prop') == {'foo': {'another prop': {'baz': 'A string'}, 'yet another prop': 'added prop', 'anArray': [{'prop': 55}]}}
True
>>> obj = {'foo': {}}
>>> set_pointer(obj, '/foo/a%20b', 'x') == {'foo': {'a%20b': 'x' }}
True
)�JsonPointer�set)�doc�pointer�value�inplacer r r �set_pointerA s r c C s t |�}|j| |�S )aa Resolves pointer against doc and returns the referenced object
>>> obj = {'foo': {'anArray': [ {'prop': 44}], 'another prop': {'baz': 'A string' }}, 'a%20b': 1, 'c d': 2}
>>> resolve_pointer(obj, '') == obj
True
>>> resolve_pointer(obj, '/foo') == obj['foo']
True
>>> resolve_pointer(obj, '/foo/another prop') == obj['foo']['another prop']
True
>>> resolve_pointer(obj, '/foo/another prop/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
>>> resolve_pointer(obj, '/a b', None) == None
True
>>> resolve_pointer(obj, '/a%20b') == 1
True
>>> resolve_pointer(obj, '/c d') == 2
True
>>> resolve_pointer(obj, '/c%20d', None) == None
True
)r
�resolve)r r �defaultr r r �resolve_pointer[ s $r c C s&