%PDF- %PDF-
Direktori : /lib/python3/dist-packages/attr/__pycache__/ |
Current File : //lib/python3/dist-packages/attr/__pycache__/_next_gen.cpython-312.pyc |
� ��e; � �� � d Z ddlmZ ddlmZ ddlmZ ddlmZ ddl mZmZm Z mZmZ ddlmZ dd d d d d d dd dd ddd d dd d d d d d�d �ZeZ eed d �� Zed d d d d d d d dd d d d d�d�Zd d d d�d�Zd d d�d�Zy )z] These are keyword-only APIs that call `attr.s` and `attr.ib` with different default values. � )�partial� )�setters)�asdict)�astuple)�NOTHING�_frozen_setattrs�_ng_default_on_setattr�attrib�attrs)�UnannotatedAttributeErrorNTF)�these�repr�unsafe_hash�hash�init�slots�frozen�weakref_slot�str�auto_attribs�kw_only� cache_hash�auto_exc�eq�order�auto_detect�getstate_setstate� on_setattr�field_transformer� match_argsc � ��������� � ��� ��������� �� �������������� ���fd��� ���fd�}| �|S || � S )a� Define an *attrs* class. Differences to the classic `attr.s` that it uses underneath: - Automatically detect whether or not *auto_attribs* should be `True` (c.f. *auto_attribs* parameter). - Converters and validators run when attributes are set by default -- if *frozen* is `False`. - *slots=True* .. caution:: Usually this has only upsides and few visible effects in everyday programming. But it *can* lead to some surprising behaviors, so please make sure to read :term:`slotted classes`. - *auto_exc=True* - *auto_detect=True* - *order=False* - Some options that were only relevant on Python 2 or were kept around for backwards-compatibility have been removed. Please note that these are all defaults and you can change them as you wish. :param Optional[bool] auto_attribs: If set to `True` or `False`, it behaves exactly like `attr.s`. If left `None`, `attr.s` will try to guess: 1. If any attributes are annotated and no unannotated `attrs.fields`\ s are found, it assumes *auto_attribs=True*. 2. Otherwise it assumes *auto_attribs=False* and tries to collect `attrs.fields`\ s. For now, please refer to `attr.s` for the rest of the parameters. .. versionadded:: 20.1.0 .. versionchanged:: 21.3.0 Converters are also run ``on_setattr``. .. versionadded:: 22.2.0 *unsafe_hash* as an alias for *hash* (for :pep:`681` compliance). c � �� t di d| �d��d��d� �d��d� �d��d��d ��d ��d|�d��d ��d��d��d��d��dd�d��d� �d��d���S )N� maybe_clsr r r r r r r r r r r r r r r r �collect_by_mroTr r r r! � )r )�clsr r r r r r r r r r r r! r r r r r r r r s ��������������������0/usr/lib/python3/dist-packages/attr/_next_gen.py�do_itzdefine.<locals>.do_itY s� �� �� �� �� � � � � � $� � � � � � � � &� � � � &� � � � "� � � � � � �! �"