Файловый менеджер - Редактировать - /opt/imh-python/lib/python3.9/site-packages/sqlalchemy/orm/__pycache__/events.cpython-39.pyc
Ðазад
a _�h�� � @ s` d Z ddlZddlmZ ddlmZ ddlmZ ddlmZ ddlm Z dd l mZ dd lm Z ddlmZ ddlmZ d dlmZ d dlmZ d dlmZ d dlmZ G dd� dej�ZG dd� de�ZG dd� dej�ZG dd� dej�ZG dd� de�ZG dd� dej�ZG dd� de�Ze � Z!G d d!� d!ej�Z"G d"d#� d#ej�Z#G d$d%� d%ej�Z$dS )&zORM event interfaces. � N� )�instrumentation)� interfaces)� mapperlib)�QueryableAttribute��_mapper_or_none)�Query)�scoped_session)�Session)�sessionmaker� )�event)�exc)�util)�inspect_getfullargspecc s` e Zd ZdZdZejZedd� �Z eddd��Z e� fdd ��Zd d� Zdd � Z dd� Z� ZS )�InstrumentationEventsa Events related to class instrumentation events. The listeners here support being established against any new style class, that is any object that is a subclass of 'type'. Events will then be fired off for events against that class. If the "propagate=True" flag is passed to event.listen(), the event will fire off for subclasses of that class as well. The Python ``type`` builtin is also accepted as a target, which when used has the effect of events being emitted for all classes. Note the "propagate" flag here is defaulted to ``True``, unlike the other class level events where it defaults to ``False``. This means that new subclasses will also be the subject of these events, when a listener is established on a superclass. Z SomeBaseClassc C s t |t�rt|�S d S d S �N)� isinstance�type�_InstrumentationEventsHold��cls�target� r ��/root/rpmbuild/BUILDROOT/imh-python39-modules-3.9.7-92.el8.x86_64/opt/imh-python/lib/python3.9/site-packages/sqlalchemy/orm/events.py�_accept_with5 s z"InstrumentationEvents._accept_withTc sd |j |j|j ��� � ��fdd����fdd�}t��j|��|�tj�� ��j f i |�� d S )Nc sD �� }�r$t | |�r$� | g|�R � S �s@| |u r@� | g|�R � S d S r )� issubclass)Z target_cls�argZ listen_cls)�fn� propagater r r �listenD s z-InstrumentationEvents._listen.<locals>.listenc s, t j�d � �tj�}ttjj� ��|� d S r )r �registryZ _EventKeyr �_instrumentation_factory�getattr�dispatch�remove)�ref�key)� identifierr! r r r&