%PDF- %PDF-
Direktori : /snap/core/17212/usr/lib/python3/dist-packages/__pycache__/ |
Current File : //snap/core/17212/usr/lib/python3/dist-packages/__pycache__/jsonpointer.cpython-35.pyc |
�KU�$ � @ sr d d l m Z y d d l m Z m Z Wn( e k rT d d l m Z m Z Yn 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 Yn Xd d l m Z d d l Z d d l Z e j d � Z Gd d � d e � Z Gd d � d e � Z e � Z e d d � Z d d d � Z Gd d � d e � Z d d � Z d S)� )�unicode_literals)�Mapping�Sequenceu Stefan Kögl <stefan@skoegl.net>z1.9z2https://github.com/stefankoegl/python-json-pointerzModified BSD License)�unquote)�izip)�teeNz0|[1-9][0-9]*$c @ s e Z d Z d S)�JsonPointerExceptionN)�__name__� __module__�__qualname__� r r �-/usr/lib/python3/dist-packages/jsonpointer.pyr B s r c @ s. e Z d Z d Z d d � Z d d � Z d S)� EndOfListz+ Result of accessing element "-" of a list c C s | | _ d S)N)�list_)�selfr r r r �__init__I s zEndOfList.__init__c C s% d j d | j j d t | j � � S)Nz{cls}({lst})�clsZlst)�format� __class__r �reprr )r r r r �__repr__M s zEndOfList.__repr__N)r r r �__doc__r r r r r r r F s r c C s t | � } | j | | � S)an 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 )�JsonPointer�resolve)�doc�pointer�defaultr r r �resolve_pointerU s r Tc C s t | � } | j | | | � S)aV 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 �set)r r �value�inplacer r r �set_pointerr s r! c @ s� e Z d Z d Z d d � Z d d � Z e d d � Z e Z d d d � Z d d � Z d d � Z d d � Z d d � Z e d d � � Z d d � Z d d � Z e d d � � Z d S)r z= A JSON Pointer that can reference parts of an JSON document c C sr | j d � } | j d � d k r0 t d � � t t | � } d d � | D� } d d � | D� } | | _ d S)N�/r � zlocation must starts with /c S s"