File: //lib64/python3.6/site-packages/gi/__pycache__/importer.cpython-36.opt-1.pyc
3
��<_�  �               @   s�   d dl mZ d dlZd dlZd dlZd dlmZ d dlZddlm	Z	m
Z
 ddlmZ ddlm
Z
 ddlmZ e	j� Zi Zed	d
� �Zdd� ZG d
d� de�ZdS )�    )�absolute_importN)�contextmanager�   )�
Repository�RepositoryError)�PyGIWarning)�get_introspection_module)�load_overridesc             c   s^   t j| �}dV  |rdS | dkr$dS tj| �dk	r6dS t j| �}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�GLib�GObject�Gioz�%(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)r
   r   r   )�
repository�
is_registered�giZget_required_versionZget_version�warnings�warnr   )r
   r   Z
was_loadedr   � r   � /usr/lib64/python3.6/importer.py�_check_require_version+   s    
r   c             C   sZ   t jdd� }|dkr"| rdS dS |dkr6| r2dS dS |d	krJ| 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   r   )�sys�version_info)�import_hook�
py_versionr   r   r   �get_import_stacklevelR   s    	r!   c               @   s&