관리-도구
편집 파일: _next_gen.cpython-37.opt-1.pyc
B �>t`� � @ s� d Z ddlmZ ddlmZ ddlmZ ddlmZm Z m Z mZ ddddddd dd dd d ddd ddddd �dd�ZeZ eeddd �Zedddddddd dddd�dd�ZdS )zr These are Python 3.6+-only and keyword-only APIs that call `attr.s` and `attr.ib` with different default values. � )�partial)�UnannotatedAttributeError� )�setters)�NOTHING�_frozen_setattrs�attrib�attrsNTF)�these�repr�hash�init�slots�frozen�weakref_slot�str�auto_attribs�kw_only� cache_hash�auto_exc�eq�order�auto_detect�getstate_setstate� on_setattr�field_transformerc sV �������� � ��� �����fdd��� ���fdd�}| dkrJ|S || �S dS )aD The only behavioral differences are the handling of the *auto_attribs* option: :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 `attr.ib`\ s are found, it assumes *auto_attribs=True*. 2. Otherwise it assumes *auto_attribs=False* and tries to collect `attr.ib`\ s. and that mutable classes (``frozen=False``) validate on ``__setattr__``. .. versionadded:: 20.1.0 c s0 t | ����� ���|� ����� d�� �d�S )NT)� maybe_clsr r r r r r r r r r r r r r r Zcollect_by_mror r r )r )�clsr )r r r r r r r r r r r r r r r r r � �?/opt/alt/python37/lib/python3.7/site-packages/attr/_next_gen.py�do_it5 s* zdefine.<locals>.do_itc s� �dt jfk}�dkr$�dkr$t j�x,| jD ]"}|jtkr,|rFtd��t j�P q,W � dk rd�| � �S y �| d�S tk r� �| d�S X dS )z� Making this a wrapper ensures this code runs during class creation. We also ensure that frozen-ness of classes is inherited. NFz@Frozen classes can't use on_setattr (frozen-ness was inherited).T)r ZNO_OPZvalidate� __bases__�__setattr__r � ValueErrorr )r Zhad_on_setattrZbase_cls)r r r r r r �wrapM s zdefine.<locals>.wrapNr )r r r r r r r r r r r r r r r r r r r r$ r )r r r r r r r r r r r r r r r r r r r r �define s ',%r% )r r )�default� validatorr r r �metadata� converter�factoryr r r r c C s t | ||||||||| | |d�S )zx Identical to `attr.ib`, except keyword-only and with some arguments removed. .. versionadded:: 20.1.0 )r&