
    ՟f
                     v    d Z ddlmZ ddlmZ ddlmZ ddlmZ  ee	      Z
dee   dedefd	Zdededefd
Zy)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)Optional)
get_loggerframecallerreturnc                 |    | y	 t        | |      S # t        $ r!}t        j                  d|       Y d}~y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      T/var/www/cvtools/html/venv/lib/python3.12/site-packages/telegram/ext/_utils/stack.pywas_called_byr   %   sJ    $ }eV,, X 	 	
 s    	;6;c                    t        | j                  j                        j                         |k(  ry| j                  rJ| j                  } t        | j                  j                        j                         |k(  ry| j                  rJy)NTF)r   f_codeco_filenameresolvef_back)r   r   s     r   r   r   D   sf    ELL$$%--/69
,,(()113v= ,,     N)__doc__pathlibr   typesr   typingr   telegram._utils.loggingr   __name__r   boolr   r    r   r   <module>r!      s[   &    .
X
), d t >) T d r   