HEX
Server: Apache
System: Linux scp1.abinfocom.com 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: confeduphaar (1010)
PHP: 8.1.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //proc/self/root/lib/python3/dist-packages/gi/__pycache__/__init__.cpython-38.pyc
U

��	^�@s�ddlmZddlmZeee�ZddlZddlZddlZddl	Z	dZ
dejkrXee
��ddl
mZddlmZdd	lmZdd
lmZddlmZddlmZeZeZeZiZej�ej�e�d
�Ze	�d�Zeejej<eje_eje_ejdd�Zdj e�Z!e�"�Gdd�de	j�Z#e#de
�ejd<e#de
�ejd<e#de
�ejd<e#de
�ejd<e#de
�ejd<dd�Z$dd�Z%dd�Z&dd�Z'd dd�Z(dS)!�)�absolute_import)�extend_pathNz�When using gi.repository you must not import static modules like "gobject". Please change all occurrences of "import gobject" to "from gi.repository import GObject". See: https://bugzilla.gnome.org/show_bug.cgi?id=709183Zgobject�)�_gi)�_API)�
Repository)�PyGIDeprecationWarning)�PyGIWarning)�string_typesZ	overrideszgi._gobjectz{0}.{1}.{2}c@seZdZdZdd�ZdS)�_DummyStaticModuleNcCstt��dS�N)�AttributeError�_static_binding_error)�self�name�r�-/usr/lib/python3/dist-packages/gi/__init__.py�__getattr__Gsz_DummyStaticModule.__getattr__)�__name__�
__module__�__qualname__�__path__rrrrrrDsrZglibZgioZgtkzgtk.gdkcCs@t|t�r ttt|�d���}n|}|tkr<td|tf��dS)N�.zNpygobject's version %s required, and available version %s is not recent enough)	�
isinstance�str�tuple�map�int�split�version_info�
ValueError�__version__)�versionZversion_listrrr�
check_versionRs
�r#cCs�t��}t|t�std��||��krH|�|�}||krHtd||f��|tkrpt||krptd|t|f��|�|�}|s�td|��||kr�td||f��|t|<dS)a� Ensures the correct versions are loaded when importing `gi` modules.

    :param namespace: The name of module to require.
    :type namespace: str
    :param version: The version of module to require.
    :type version: str
    :raises ValueError: If module/version is already loaded, already required, or unavailable.

    :Example:

    .. code-block:: python

        import gi
        gi.require_version('Gtk', '3.0')

    z'Namespace version needs to be a string.z.Namespace %s is already loaded with version %sz(Namespace %s already requires version %szNamespace %s not availablez)Namespace %s not available for version %sN)	rZget_defaultrr
r Zget_loaded_namespacesZget_version�	_versionsZenumerate_versions)�	namespacer"Z
repositoryZloaded_versionZavailable_versionsrrr�require_version_s*

�
�
�r&cCs |��D]\}}t||�qdS)a3 Utility function for consolidating multiple `gi.require_version()` calls.

    :param requires: The names and versions of modules to require.
    :type requires: dict

    :Example:

    .. code-block:: python

        import gi
        gi.require_versions({'Gtk': '3.0', 'GLib': '2.0', 'Gio': '2.0'})
    N)�itemsr&)ZrequiresZmodule_nameZmodule_versionrrr�require_versions�s
r(cCst�|d�Sr)r$�get)r%rrr�get_required_version�sr*c
CsPzt�||�Wn.tk
r>}ztt|���W5d}~XYnXt�d|�dS)a�Ensure the given foreign marshaling module is available and loaded.

    :param str namespace:
        Introspection namespace of the foreign module (e.g. "cairo")
    :param symbol:
        Optional symbol typename to ensure a converter exists.
    :type symbol: str or None
    :raises: ImportError

    :Example:

    .. code-block:: python

        import gi
        import cairo
        gi.require_foreign('cairo')

    Nz
gi.repository)r�require_foreign�	Exception�ImportErrorr�	importlib�
import_module)r%Zsymbol�errrr+�s
r+)N))Z
__future__r�pkgutilrrr�sys�osr.�typesr�modulesr-�rrrrr	Z_compatr
r$�path�join�dirname�__file__Z
_overridesdir�
ModuleTypeZ_gobjectZ_PyGObject_APIZpygobject_versionr�formatr!Zregister_foreignrr#r&r(r*r+rrrr�<module>sL




+