§ <ˆj8p ã ó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( ' s[ € ð ¤Ð-Ð-ÝÔ%ØEÈÑKñ ô ð ð (€CÔØ€C„LÝ�C˜œ s¤|Ñ4Ô4Ð4Ð4Ð4ó c óR — | j dd… D ]}t |dd¦ « � dS ŒdS )aK Given a class, return True if any of the classes it inherits from has a mapped table, otherwise return False. This is used in declarative mixins to build attributes that behave differently for the base class vs. a subclass in an inheritance hierarchy. .. seealso:: :ref:`decl_mixin_inheritance` r NÚ __table__TF)Ú__mro__Úgetattr)r% Úclass_s r' Úhas_inherited_tabler/ 6 s@ € ð ”+˜a˜b˜b”/ð ð ˆÝ�6˜;¨Ñ-Ô-Ð9Ø�4�4ð :àˆ5r) c ó — e Zd Zd„ Zd„ Zd„ ZdS )ÚDeclarativeMetac ó~ — d| j vrt | || j ¦ « t | |||¦ « d S )Nr )r! r ÚtypeÚ__init__)r% Ú classnameÚbasesÚdict_Úkws r' r4 zDeclarativeMeta.__init__J sA € Ø!¨¬Ð5Ð5ݘC ¨C¬LÑ9Ô9Ð9Ý� Š �c˜9 e¨UÑ3Ô3Ð3Ð3Ð3r) c ó( — t | ||¦ « d S ©Nr )r% ÚkeyÚvalues r' Ú__setattr__zDeclarativeMeta.__setattr__O s € Ý�s˜C Ñ'Ô'Ð'Ð'Ð'r) c ó&