bgw$dZddlZddlZddlZddlZddlZddlmZddlm Z ddl m Z ddl m Z iZdZehdZd Zd Zd efd Zd Ze ee ejeedS)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__ci}i}i}i}t|D]}|dr |tvr"tjt |s= t ||}n#t$rY[wxYwtj |r|||<ytj |stj |r|||<tj |stj |r|||<t|dsXt|ds6t|dstj|rd||<Vt!|t"tfr|||<yt%|r|||<d||<d}|r|d|jdz }t)|D]z}|dr||}t|} t!|tr&d t|d d z} ||d | d z }{|r|dz }|r|d|jdz }t)|D]}|d|dz }|dz }|r|dz }|r|d|jdz }t)|D]}|d|dz }|dz }|r|dz }|r|d|jdz }t)|D]d\}}d} t1|trd} |d|d| dz }t3|} | sd} | D] } |d| zd zz }|d z }e|S)z` Inspect the passed module recursively and build stubs for functions, classes, etc. __z(> !IdOO  c " " g&@&E&E GDMM HH   ) ) 3xx""8,, 3xx""9-- ',,   IdOO c3Z ( ( !IdOO c]] !IdOO IdOO C4 3FO3333y!! & & 7??    oS c3   =c#hh..tV<<#+a.#A#AABBBBBBBBBBBBBBB # 11121% 0#>#3#344AA'7SSE*/ w ' '  7 7 726 6E&w/// 7 #7+ }"73333 Ls~-E8D(D2CD CDC4D D(D D(#D $D('E8(D:7E89D::E88FFreturnct|jdkrdStd|jDsdS|j}t |t jr@|jdkrdSt |jt j r|jj dkrdSdSt |t j r |j dkSdS)NFc3JK|]}t|tjVdS)N)r6rConst).0args rN z._looks_like_require_version..s.AAz#u{++AAAAAArequire_versionrZT) lenargsallfuncr6r AttributeattrnameexprNamerF)noderts rN_looks_like_require_versionrzs 49~~u AAtyAAA A Au 9D$(( =- - -5 di , , 41G1G4u$ ##.y--- 5roc ddl}||jdj|jdjn#t$rYnwxYw|S)Nr)rZrprrvaluer%)ryrZs rN_register_require_versionr~sb   49Q<-ty|/ABBBB       Ks:= A  A )__doc__r.rVr*r]rXastroidrastroid.builderrastroid.exceptionsrastroid.managerrrTr, frozensetr)r?rfboolrzr~register_failed_import_hookregister_transformCallrorNrsV  ******333333******"9???## J)+Fro