MINI MINI MANI MO
ó
§Zc           @@  sW  d  d l  m Z d  d l m Z e e e ƒ Z d  d l Z d  d l Z d  d l Z d e j	 k rq e
 d ƒ ‚ n  d d l m Z d d l m
 Z
 d d	 l m Z d d
 l m Z d d l m Z d d l m Z e Z e Z e Z i  Z e j j e j j e ƒ d
 ƒ Z e
 j Z d j e Œ  Z d „  Z d „  Z d „  Z d „  Z d d „ Z! d S(   i    (   t   absolute_import(   t   extend_pathNt   gobjects¥   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".i   (   t   _gi(   t   _gobject(   t   _API(   t
   Repository(   t   PyGIDeprecationWarning(   t   PyGIWarningt	   overridess   {0}.{1}.{2}c         C@  s_   t  |  t ƒ r0 t t t |  j d ƒ ƒ ƒ } n |  } | t k r[ t d |  t f ƒ ‚ n  d  S(   Nt   .sN   pygobject's version %s required, and available version %s is not recent enough(	   t
   isinstancet   strt   tuplet   mapt   intt   splitt   version_infot
   ValueErrort   __version__(   t   versiont   version_list(    (    s1   /usr/lib64/python2.7/site-packages/gi/__init__.pyt
   check_version7   s    !c         C@  sé   t  j ƒ  } |  | j ƒ  k rU | j |  ƒ } | | k rU t d |  | f ƒ ‚ qU n  |  t k rŽ t |  | k rŽ t d |  t |  f ƒ ‚ n  | j |  ƒ } | s¶ t d |  ƒ ‚ n  | | k rÛ t d |  | f ƒ ‚ n  | t |  <d S(   s   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')
    s.   Namespace %s is already loaded with version %ss(   Namespace %s already requires version %ss   Namespace %s not availables)   Namespace %s not available for version %sN(   R   t   get_defaultt   get_loaded_namespacest   get_versionR   t	   _versionst   enumerate_versions(   t	   namespaceR   t
   repositoryt   loaded_versiont   available_versions(    (    s1   /usr/lib64/python2.7/site-packages/gi/__init__.pyt   require_versionD   s     c         C@  s.   x' |  j  ƒ  D] \ } } t | | ƒ q
 Wd S(   s3   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(   t   itemsR    (   t   requirest   module_namet   module_version(    (    s1   /usr/lib64/python2.7/site-packages/gi/__init__.pyt   require_versionsl   s    
c         C@  s   t  j |  d  ƒ S(   N(   R   t   gett   None(   R   (    (    s1   /usr/lib64/python2.7/site-packages/gi/__init__.pyt   get_required_version}   s    c         C@  sP   y t  j |  | ƒ Wn% t k
 r; } t t | ƒ ƒ ‚ n Xt j d |  ƒ d S(   s©  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')
    s
   gi.repositoryN(   R   t   require_foreignt	   Exceptiont   ImportErrorR   t	   importlibt
   import_module(   R   t   symbolt   e(    (    s1   /usr/lib64/python2.7/site-packages/gi/__init__.pyR)      s
    ("