
    5 f                         d Z ddlZddlZddlZddlZddlZddlmZ ddlm	Z	 ddl
mZ ddlmZ i ZdZ eh d          Zd	 Zd
 ZdefdZd ZdeddfdZdS )zAstroid hooks for the Python 2 GObject introspection bindings.

Helps with understanding everything imported from 'gi.repository'
    N)nodes)AstroidBuilder)AstroidBuildingError)AstroidManagerz^[A-Za-z_]\w*$>   __eq____ge____gt____le____lt____ne____del____len____str____bool____exit____hash____iter____next____repr__	__enter____delattr____delitem____getattr____getitem____nonzero____setattr____setitem____contains__c                    i }i }i }i }t          |           D ]}|                    d          r
|t          vr"t          j        t
          |          s=	 t          | |          }n# t          $ r Y [w xY wt          j	        |          r|||<   yt          j
        |          st          j        |          r|||<   t          j        |          st          j        |          r|||<   t          |                              d          sXt          |                              d          s6t          |                              d          st          j        |          rd||<   Vt!          |t"          t          f          r|||<   yt%          |          r|||<   d||<   d}|r|d| j         dz  }t)          |          D ]z}|d                                         r||         }t          |          }	t!          |t                    r&d	t          |                              d
d          z  }	|| d|	 dz  }{|r|dz  }|r|d| j         dz  }t)          |          D ]}|d| dz  }|dz  }|r|dz  }|r|d| j         dz  }t)          |          D ]}|d| dz  }|dz  }|r|dz  }|r|d| j         dz  }t)          |                                          D ]d\  }}d}
t1          |t                    rd}
|d| d|
 dz  }t3          |          }|sd}|                                D ]}|d|z   dz   z  }|dz  }e|S )z`
    Inspect the passed module recursively and build stubs for functions,
    classes, etc.
    __z<flagsz<enum z<GType r    z# z constants

z"%s"\z\\z = 
z

z functions

zdef z(*args, **kwargs):
z	    pass
z
 methods

z(self, *args, **kwargs):
z
 classes

object	Exceptionzclass (z):
zpass
z    )dir
startswith_special_methodsrematch_identifier_regetattrr%   inspectisclass
isfunction	isbuiltinismethodismethoddescriptorstrisdatadescriptor
isinstanceintcallable__name__sortedisdigitreplaceitems
issubclass_gi_build_stub
splitlines)parentclasses	functions	constantsmethodsnameobjretvalstrvalbaseclassretlines                L/var/www/equiseq/venv/lib/python3.11/site-packages/astroid/brain/brain_gi.pyr?   r?   9   sR   
 GIIGF #  # ??4   	T1A%A%A x-- 		&$''CC 	 	 	 H	
 ?3 	 GDMM$$ 	 (9#(>(> 	 !IdOOc"" 	 g&@&E&E 	 GDMMHH))	 3xx""8,,	  3xx""9--	  ',,		   IdOOc3Z(( 	 !IdOOc]] 	 !IdOO  IdOO
C 43FO3333y!! & &7?? 	 oSc3 	=c#hh..tV<<<F$%%6%%%%
 v 43FO3333y!!  0d0000|
 v 21FO1111w  6d6666|
 v 21FO1111GMMOO,,  	cc9%% 	D)))t))))!#&& 	 H'')) 	( 	(D6D=4''CCtJs   A''
A43A4c                 j   |                      d          st          |           | t          vrd| g}g }| dk    r|                    d           n| dk    r|                    d           	 d}t	          j        ||          D ]}	 t          j                    5  	 dd	lm	}m
} t          j        d
|           t          j        d
|           n# t          $ r Y nw xY wt          |           |t          t          j        |                   z  }d d d            n# 1 swxY w Y   # t"          $ r ||vr Y w xY w	 t%          t'                                                    ||           }|t          | <   n)# t"          $ r d x}t          | <   Y nw xY wt          |          }|t          |           |S )Nzgi.repository.)modnamezgi.repository.GLibzgi._glibzgi.repository.GObjectzgi._gobjectr!   r   )PyGIDeprecationWarningPyGIWarningignore)r(   r   _inspected_modulesappend	itertoolschainwarningscatch_warningsgirQ   rR   simplefilterr%   
__import__r?   sysmodulesImportErrorr   r   string_build)rP   modnamesoptional_modnamesmodcodemrQ   rR   astngs           rN   _import_gi_modulerf      s   .// 4"73333(((9 ***$$Z0000///$$]333	0G_X/@AA  !022 B B	!       
 %1(<RSSS$1(KHHHH( ! ! ! D! #1>#+a.#A#AAB B B B B B B B B B B B B B B  #    111 21%0 #>#3#344AA'7SSE*/w''	  	7 	7 	7266E&w///	7 #7+}"73333Ls~   -E8 D(D2CD
CDC4DD(D 	 D(#D 	$D('E8 (D:7E8 9D::E8 8FFreturnc                    t          | j                  dk    rdS t          d | j        D                       sdS | j        }t	          |t
          j                  r@|j        dk    rdS t	          |j        t
          j	                  r|j        j
        dk    rdS dS t	          |t
          j	                  r|j
        dk    S dS )N   Fc              3   J   K   | ]}t          |t          j                  V  d S N)r6   r   Const).0args     rN   	<genexpr>z._looks_like_require_version.<locals>.<genexpr>   s.      AAz#u{++AAAAAA    require_versionrZ   T)lenargsallfuncr6   r   	AttributeattrnameexprNamerF   )noderu   s     rN   _looks_like_require_versionr{      s     49~~uAAtyAAAAA u9D$(( =---5di,, 	41G1G4u$
## .y---5rp   c                     	 dd l }|                    | j        d         j        | j        d         j                   n# t          $ r Y nw xY w| S )Nr      )rZ   rq   rs   valuer%   )rz   rZ   s     rN   _register_require_versionr      sb    			
49Q<-ty|/ABBBB    Ks   := 
A
	A
managerc                     |                      t                     |                     t          j        t
          t                     d S rk   )register_failed_import_hookrf   register_transformr   Callr   r{   )r   s    rN   registerr      sD    ''(9:::
-/J    rp   )__doc__r.   rV   r*   r]   rX   astroidr   astroid.builderr   astroid.exceptionsr   astroid.managerr   rT   r,   	frozensetr)   r?   rf   boolr{   r   r    rp   rN   <module>r      s.  
       				 



        * * * * * * 3 3 3 3 3 3 * * * * * * "9    <a a aH2 2 2j    0	 	 	n       rp   