Sindbad~EG File Manager

Current Path : /usr/local/lib/python3.6/site-packages/jsonschema/__pycache__/
Upload File :
Current File : //usr/local/lib/python3.6/site-packages/jsonschema/__pycache__/_utils.cpython-36.pyc

3

!��c0�@s�ddlZddlZddlZddlZddlmZmZmZGdd�de�ZGdd�de	�Z
dd�Zdd
d�Zdd
�Z
dd�Zdd�Zdd�Zdd�Zdd�Zdd�Ze	�e	�fdd�Zdd�ZdS)�N)�MutableMapping�	str_types�urlsplitc@sPeZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dd�ZdS)�URIDictz8
    Dictionary which uses normalized URIs as keys.
    cCst|�j�S)N)r�geturl)�self�uri�r	�7/tmp/pip-build-_uu8ur7s/jsonschema/jsonschema/_utils.py�	normalizeszURIDict.normalizecOst�|_|jj||�dS)N)�dict�store�update)r�args�kwargsr	r	r
�__init__szURIDict.__init__cCs|j|j|�S)N)r
r)rrr	r	r
�__getitem__szURIDict.__getitem__cCs||j|j|�<dS)N)r
r)rr�valuer	r	r
�__setitem__szURIDict.__setitem__cCs|j|j|�=dS)N)r
r)rrr	r	r
�__delitem__szURIDict.__delitem__cCs
t|j�S)N)�iterr
)rr	r	r
�__iter__szURIDict.__iter__cCs
t|j�S)N)�lenr
)rr	r	r
�__len__!szURIDict.__len__cCs
t|j�S)N)�reprr
)rr	r	r
�__repr__$szURIDict.__repr__N)�__name__�
__module__�__qualname__�__doc__rrrrrrrrr	r	r	r
r	src@seZdZdZdd�ZdS)�UnsetzG
    An as-of-yet unset attribute or unprovided default parameter.
    cCsdS)Nz<unset>r	)rr	r	r
r-szUnset.__repr__N)rrrrrr	r	r	r
r (sr cCs"tjddj|��}tj|jd��S)zC
    Load a schema from ./schemas/``name``.json and return it.
    Z
jsonschemazschemas/{0}.jsonzutf-8)�pkgutil�get_data�format�json�loads�decode)�name�datar	r	r
�load_schema1sr)�csdj�fdd�|j�D��S)z>
    A dumb version of `textwrap.indent` from Python 3.3.
    �
c3s|]}dd�|VqdS)� �Nr	)�.0�line)�timesr	r
�	<genexpr>?szindent.<locals>.<genexpr>)�join�
splitlines)�stringr0r	)r0r
�indent:sr5cCs |sdSddjdd�|D��S)z�
    Construct a single string containing indexing operations for the indices.

    For example, [1, 2, "foo"] -> [1][2]["foo"]

    Arguments:

        indices (sequence):

            The indices to format.
    �z[%s]z][css|]}t|�VqdS)N)r)r.�indexr	r	r
r1Qsz"format_as_index.<locals>.<genexpr>)r2)�indicesr	r	r
�format_as_indexBs
r9ccsP|jdi�}dj|jdi��}x,|D]$}||kr$|rBtj||�rBq$|Vq$WdS)z�
    Return the set of additional properties for the given ``instance``.

    Weeds out properties that should have been validated by ``properties`` and
    / or ``patternProperties``.

    Assumes ``instance`` is dict-like already.
    �
properties�|ZpatternPropertiesN)�getr2�re�search)�instanceZschemar:�patterns�propertyr	r	r
�find_additional_propertiesTs

rBcCs.t|�dkrd}nd}djdd�|D��|fS)z@
    Create an error message for extra items or properties.
    r*ZwasZwerez, css|]}t|�VqdS)N)r)r.�extrar	r	r
r1pszextras_msg.<locals>.<genexpr>)rr2)�extrasZverbr	r	r
�
extras_msggsrEcCs^g}xF|D]>}y|jt|d��Wq
tk
rF|jt|��Yq
Xq
Wd|dj|�fS)a+
    Create an error message for a failure to match the given types.

    If the ``instance`` is an object and contains a ``name`` property, it will
    be considered to be a description of that object and used as its type.

    Otherwise the message is simply the reprs of the given ``types``.
    r'z%r is not of type %sz, )�appendr�	Exceptionr2)r?�typesZreprs�typer	r	r
�	types_msgss

rJcCsPt�}t|t�s|f}x0|D](}t|t�r:|jt|��q|j|�qWt|�S)z�
    isinstance() can accept a bunch of really annoying different types:
        * a single type
        * a tuple of types
        * an arbitrary nested tree of tuples

    Return a flattened tuple of the given argument.
    )�set�
isinstance�tupler�flatten�add)Zsuitable_for_isinstancerH�thingr	r	r
rN�s



rNcCst|t�r|gS|S)z]
    Wrap ``thing`` in a list if it's a single str.

    Otherwise, return it unchanged.
    )rLr)rPr	r	r
�ensure_list�s
rQcCst|�t|�kS)zQ
    Check if two things are equal, but evade booleans and ints being equal.
    )�unbool)ZoneZtwor	r	r
�equal�srScCs|dkr|S|dkr|S|S)zH
    A hack to make True and 1 and False and 0 unique for ``uniq``.
    TFr	)�element�true�falser	r	r
rR�s
rRcCs�yttdd�|D���t|�kStk
r�yHtdd�|D��}tj|dd�}x"t||�D]\}}||kr\dSq\WWnHttfk
r�g}x*|D]"}t|�}||kr�dS|j	|�q�WYnXYnXdS)z�
    Check if all of a container's elements are unique.

    Successively tries first to rely that the elements are hashable, then
    falls back on them being sortable, and finally falls back on brute
    force.
    css|]}t|�VqdS)N)rR)r.�ir	r	r
r1�szuniq.<locals>.<genexpr>css|]}t|�VqdS)N)rR)r.rWr	r	r
r1�sr*NFT)
rrK�	TypeError�sorted�	itertools�islice�zip�NotImplementedErrorrRrF)�	container�sortZslicedrW�j�seen�er	r	r
�uniq�s"	
rc)r*)rZr$r!r=Zjsonschema.compatrrrr�objectr r)r5r9rBrErJrNrQrSrRrcr	r	r	r
�<module>s"		


Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists