File: //lib64/python3.9/site-packages/gi/__pycache__/importer.cpython-39.pyc
a
    b�^y  �                   @   s�   d dl Z d dlZd dlZd dlmZ d dlZddlmZmZ ddlm	Z	 ddl
mZ ddlm
Z
 e�� Zi Zedd	� �Zd
d� ZG dd
� d
e�ZdS )�    N)�contextmanager�   )�
Repository�RepositoryError)�PyGIWarning)�get_introspection_module)�load_overridesc                 c   s^   t �| �}dV  |rdS | dv r$dS t�| �dur6dS t �| �}tjd| |d� t|d� dS )aO  A context manager which tries to give helpful warnings
    about missing gi.require_version() which could potentially
    break code if only an older version than expected is installed
    or a new version gets introduced.
    ::
        with _check_require_version("Gtk", stacklevel):
            load_namespace_and_overrides()
    N)ZGLibZGObjectZGioz�%(namespace)s was imported without specifying a version first. Use gi.require_version('%(namespace)s', '%(version)s') before import to ensure that the right version gets loaded.)�	namespace�version��
stacklevel)�
repository�
is_registered�giZget_required_versionZget_version�warnings�warnr   )r	   r   Z
was_loadedr
   � r   �1/usr/lib64/python3.9/site-packages/gi/importer.py�_check_require_version*   s    
��r   c                 C   sZ   t jdd� }|dkr"| rdS dS |dkr6| r2dS dS |dkrJ| rFdS dS | rRdS dS dS )	a2  Returns the stacklevel value for warnings.warn() for when the warning
    gets emitted by an imported module, but the warning should point at the
    code doing the import.
    Pass import_hook=True if the warning gets generated by an import hook
    (warn() gets called in load_module(), see PEP302)
    N�   )�   r   �   )r   r   �   �
   )r   r   )�sys�version_info)�import_hookZ
py_versionr   r   r   �get_import_stacklevelQ   s    	r   c                   @   s&