�
l\�g# � �6 � d Z ddlmZ ddlZddlmZ ddlmZ ddlmZ ddlmZ ddlmZ dd lm Z d
dl
mZ d
dl
mZ d
dl
mZ d
dlmZ ej rd
dlmZ d
dlmZ eeee eedef f Z d.d/d�Zd0d"�Zd1d%�Zd2d(�Zd3d)�Zd4d,�Zd5d-�ZdS )6zhRoutines to handle adaption of legacy call signatures,
generation of deprecation notes and docstrings.
� )�annotationsN)�Any)�Callable)�List)�Optional)�Tuple)�Type� )�_ET)�_ListenerFnType� )�util)�FullArgSpec)�_ClsLevelDispatch)�_HasEventsDispatch.�since�str�argnames� List[str]� converter�Optional[Callable[..., Any]]�return�2Callable[[Callable[..., Any]], Callable[..., Any]]c � � ��� d��� fd�}|S )a_ legacy sig decorator
:param since: string version for deprecation warning
:param argnames: list of strings, which is *all* arguments that the legacy
version accepted, including arguments that are still there
:param converter: lambda that will accept tuple of this full arg signature
and return tuple of new arg signature.
�fn�Callable[..., Any]r c �p �� t | d� � sg | _ | j � ���f� � | S )N�_legacy_signatures)�hasattrr �append)r r r r s ����g/home/asafur/pinokio/api/open-webui.git/app/env/lib/python3.11/site-packages/sqlalchemy/event/legacy.py�legz_legacy_signature.<locals>.leg3 sA �� ��r�/�0�0� '�$&�B�!�
��$�$�e�X�y�%A�B�B�B�� � )r r r r � )r r r r"