File: //proc/thread-self/root/lib/python3/dist-packages/gi/__pycache__/importer.cpython-38.pyc
U
�� ^� � @ s� d dl mZ d dlZd dlZd dlZd dlmZ d dlZddlm Z m
Z
ddlmZ ddlm
Z
ddlmZ e �� Zi Zed d
� �Zdd� ZG d
d� de�ZdS )� )�absolute_importN)�contextmanager� )�
Repository�RepositoryError)�PyGIWarning)�get_introspection_module)�load_overridesc c s^ t �| �}dV |rdS | dkr$dS t�| �dk r6dS 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 �-/usr/lib/python3/dist-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_stacklevelR s r c @ s&