Dashboard
PHP:
8.2.30
OS:
Linux
User:
dh_nv8b2m
/
/
usr
/
local
/
lib
/
python3.10
/
dist-packages
/
sqlalchemy
/
orm
/
__pycache__
📤 Upload
📝 New File
📁 New Folder
Close
Editing: events.cpython-310.pyc
o [�h�| � @ sZ 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�ZG 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. � SomeBaseClassc C s t |t�r t|�S d S �N)� isinstance�type�_InstrumentationEventsHold��cls�target� r �@/usr/local/lib/python3.10/dist-packages/sqlalchemy/orm/events.py�_accept_with5 s z"InstrumentationEvents._accept_withTc sd |j |j|j��� � ��fdd����fdd�}t��j|��|�tj�� ��j di |�� d S )Nc sH �� }�rt | |�r� | g|�R � S �s | |u r"� | g|�R � S d S d S r )� issubclass)� target_cls�arg� listen_cls)�fn� propagater r r �listenD s �z-InstrumentationEvents._listen.<locals>.listenc s, t j�d � �tj�}ttjj� ��|� d S r )r �registry� _EventKeyr �_instrumentation_factory�getattr�dispatch�remove)�ref�key)� identifierr$ r r r* K s ��z-InstrumentationEvents._listen.<locals>.remover )�dispatch_targetr- � _listen_fn�weakrefr+ �class_�with_dispatch_targetr r'