관리-도구
편집 파일: api.cpython-311.pyc
� �܋f8p � �X � d Z ddlZddlZddlmZ ddlmZ ddlmZ ddlmZ ddlmZ dd lm Z dd l mZ ddlm Z dd lmZ ddlmZ ddlmZ ddlmZ ddlm Z ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlm Z ddlm!Z! ddlm"Z" d� Z#d� Z$ G d� de%� � Z&d1d!�Z'd"� Z( G d#� d$ej) e*� � Z+ G d%� d&e+� � Z,ddde-d'ede&fd(�Z.d)� Z/ G d*� d+e-� � Z0 G d,� d-e0� � Z1 G d.� d/e-� � Z2 ej3 e&� � d0� � � Z4dS )2z1Public API functions and helpers for declarative.� N� ��_add_attribute)�_as_declarative)�_declarative_constructor)�_DeferredMapperConfig��_del_attribute)�_get_immediate_cls_attr)�_class_resolver� )�exc)� inspection)�util)� attributes��comparable_property)� interfaces)� properties)�synonym)�_inspect_mapped_class)�_mapper_or_none)�polymorphic_union)�MetaData)�Table)�hybridmethod)�hybridproperty)�OrderedDictc � � d| j v rt j d| z � � �|| _ || _ t | | j | j � � dS )z�Given a class, configure the class declaratively, using the given registry, which can be any dictionary, and MetaData object. �_decl_class_registryz4Class %r already has been instrumented declarativelyN)�__dict__r �InvalidRequestErrorr �metadatar �__name__)�cls�registryr# s �U/opt/cloudlinux/venv/lib64/python3.11/site-packages/sqlalchemy/ext/declarative/api.py�instrument_declarativer( '