403Webshell
Server IP : 80.87.202.40  /  Your IP : 216.73.216.169
Web Server : Apache
System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64
User : bitrix ( 600)
PHP Version : 8.2.27
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : ON |  Perl : ON |  Python : OFF |  Sudo : ON |  Pkexec : ON
Directory :  /lib64/python3.9/site-packages/mercurial/thirdparty/attr/__pycache__/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /lib64/python3.9/site-packages/mercurial/thirdparty/attr/__pycache__/_funcs.cpython-39.pyc
a

�+�b��@s�ddlmZmZmZddlZddlmZddlmZm	Z	m
Z
ddlmZdde
dfd	d
�Zddedfdd�Zd
d�Zdd�Zdd�ZdS)�)�absolute_import�division�print_functionN�)�	iteritems)�NOTHING�fields�_obj_setattr)�AttrsAttributeNotFoundErrorTFc
s�t|j�}��}|D]�}t||j�}�dur8�||�s8q|dur�t|j�rbt|d��d�||j<q�t|ttt	f�r�|dur�|jnt}	|	��fdd�|D��||j<q�t|t
�rԈ���fdd�t|�D��||j<q�|||j<q|||j<q|S)a�
    Return the ``attrs`` attribute values of *inst* as a dict.

    Optionally recurse into other ``attrs``-decorated classes.

    :param inst: Instance of an ``attrs``-decorated class.
    :param bool recurse: Recurse into classes that are also
        ``attrs``-decorated.
    :param callable filter: A callable whose return code deteremines whether an
        attribute or element is included (``True``) or dropped (``False``).  Is
        called with the :class:`attr.Attribute` as the first argument and the
        value as the second argument.
    :param callable dict_factory: A callable to produce dictionaries from.  For
        example, to produce ordered dictionaries instead of normal Python
        dictionaries, pass in ``collections.OrderedDict``.
    :param bool retain_collection_types: Do not convert to ``list`` when
        encountering an attribute whose type is ``tuple`` or ``set``.  Only
        meaningful if ``recurse`` is ``True``.

    :rtype: return type of *dict_factory*

    :raise attr.exceptions.NotAnAttrsClassError: If *cls* is not an ``attrs``
        class.

    ..  versionadded:: 16.0.0 *dict_factory*
    ..  versionadded:: 16.1.0 *retain_collection_types*
    NT��recurse�filter�dict_factorycs*g|]"}t|j�r"t|d��d�n|�qS)Tr��has�	__class__�asdict)�.0�i)rr
��F/usr/lib64/python3.9/site-packages/mercurial/thirdparty/attr/_funcs.py�
<listcomp>3s��
�zasdict.<locals>.<listcomp>c3sF|]>\}}t|j�r t|�d�n|t|j�r8t|�d�n|fVqdS))rNr�rZkkZvv)�dfrr�	<genexpr>;s��zasdict.<locals>.<genexpr>)rr�getattr�namerr�
isinstance�tuple�list�set�dictr)
�instrr
r�retain_collection_types�attrs�rv�a�v�cfr)rrr
rr
s0

��
�rc
st|j�}g}|�|D]�}t||j�}�dur:�||�s:q|dur�t|j�rf|�t|d���d��n�t|tt	t
f�r��dur�|jnt	}	|�|	���fdd�|D���nJt|t�r�dur�|jnt}
|�|
��fdd�t|�D���n
|�|�q|�|�q�t	u�r|S�|�S)a8
    Return the ``attrs`` attribute values of *inst* as a tuple.

    Optionally recurse into other ``attrs``-decorated classes.

    :param inst: Instance of an ``attrs``-decorated class.
    :param bool recurse: Recurse into classes that are also
        ``attrs``-decorated.
    :param callable filter: A callable whose return code determines whether an
        attribute or element is included (``True``) or dropped (``False``).  Is
        called with the :class:`attr.Attribute` as the first argument and the
        value as the second argument.
    :param callable tuple_factory: A callable to produce tuples from.  For
        example, to produce lists instead of tuples.
    :param bool retain_collection_types: Do not convert to ``list``
        or ``dict`` when encountering an attribute which type is
        ``tuple``, ``dict`` or ``set``.  Only meaningful if ``recurse`` is
        ``True``.

    :rtype: return type of *tuple_factory*

    :raise attr.exceptions.NotAnAttrsClassError: If *cls* is not an ``attrs``
        class.

    ..  versionadded:: 16.2.0
    NT�rr
�
tuple_factoryr#c	s,g|]$}t|j�r$t|d���d�n|�qS)Tr)�rr�astuple)r�j�r
�retainr*rrrps��
�zastuple.<locals>.<listcomp>c3sJ|]B\}}t|j�r"t|��d�n|t|j�r<t|��d�n|fVqdS))r*r#Nr+r)r/r*rrrys 
������zastuple.<locals>.<genexpr>)
rrrrr�appendr,rrrr r!r)r"rr
r*r#r$r%r&r'r(rrr.rr,Fs4

�
�

�r,cCst|dd�duS)z�
    Check whether *cls* is a class with ``attrs`` attributes.

    :param type cls: Class to introspect.
    :raise TypeError: If *cls* is not a class.

    :rtype: :class:`bool`
    Z__attrs_attrs__N)r)�clsrrrr�s	rcKsrddl}|�dt�t�|�}t|j�}t|�D]<\}}t||t�}|tur`t	dj
||jd���t|||�q0|S)a�
    Copy *inst* and apply *changes*.

    :param inst: Instance of a class with ``attrs`` attributes.
    :param changes: Keyword changes in the new copy.

    :return: A copy of inst with *changes* incorporated.

    :raise attr.exceptions.AttrsAttributeNotFoundError: If *attr_name* couldn't
        be found on *cls*.
    :raise attr.exceptions.NotAnAttrsClassError: If *cls* is not an ``attrs``
        class.

    ..  deprecated:: 17.1.0
        Use :func:`evolve` instead.
    rNz6assoc is deprecated and will be removed after 2018/01.z&{k} is not an attrs attribute on {cl}.)�kZcl)�warnings�warn�DeprecationWarning�copyrrrrrr
�formatr	)r"�changesr3�newr$r2r'r&rrr�assoc�s �

��r:cKsf|j}t|�}|D]D}|jsq|j}|ddkr4|n
|dd�}||vrt||�||<q|fi|��S)a�
    Create a new instance, based on *inst* with *changes* applied.

    :param inst: Instance of a class with ``attrs`` attributes.
    :param changes: Keyword changes in the new copy.

    :return: A copy of inst with *changes* incorporated.

    :raise TypeError: If *attr_name* couldn't be found in the class
        ``__init__``.
    :raise attr.exceptions.NotAnAttrsClassError: If *cls* is not an ``attrs``
        class.

    ..  versionadded:: 17.1.0
    r�_rN)rr�initrr)r"r8r1r$r&Z	attr_nameZ	init_namerrr�evolve�sr=)Z
__future__rrrr6Z_compatr�_makerrr	�
exceptionsr
r!rrr,rr:r=rrrr�<module>s�
<�
H!

Youez - 2016 - github.com/yon3zu
LinuXploit