
    i	                     r    d Z ddlmZ ddlmZ ddlmZ  ee          Zdedz  dede	fd	Z
dedede	fd
ZdS )aE  This module contains helper functions related to inspecting the program stack.

.. versionadded:: 20.0

Warning:
    Contents of this module are intended to be used internally by the library and *not* by the
    user. Changes to this module are not considered breaking changes and may not be documented in
    the changelog.
    )Path)	FrameType)
get_loggerframeNcallerreturnc                     | dS 	 t          | |          S # t          $ r'}t                              d|           Y d}~dS d}~ww xY w)a+  Checks if the passed frame was called by the specified file.

    Example:
        .. code:: pycon

            >>> was_called_by(inspect.currentframe(), Path(__file__))
            True

    Arguments:
        frame (:obj:`FrameType`): The frame - usually the return value of
            ``inspect.currentframe()``. If :obj:`None` is passed, the return value will be
            :obj:`False`.
        caller (:obj:`pathlib.Path`): File that should be the caller.

    Returns:
        :obj:`bool`: Whether the frame was called by the specified file.
    NFzJFailed to check if frame was called by `caller`. Assuming that it was not.)exc_info)_was_called_by	Exception_LOGGERdebug)r   r   excs      Y/Users/shanyulin/my-agent/.venv/lib/python3.11/site-packages/telegram/ext/_utils/stack.pywas_called_byr   %   sr    $ }ueV,,,   X 	 	
 	
 	
 uuuuus    
AAAc                     t          | j        j                                                  |k    rdS | j        r?| j        } t          | j        j                                                  |k    rdS | j        ?dS )NTF)r   f_codeco_filenameresolvef_back)r   r   s     r   r   r   D   sx    EL$%%--//699t
, ())1133v==4 ,  5    )__doc__pathlibr   typesr   telegram._utils.loggingr   __name__r   boolr   r    r   r   <module>r      s   &              . . . . . .
*X

T) 4 D    >) T d      r   