n9ddlZddlZddlZGddeZGddeZGddeZdZd ZGd d e Z Gd d Z GddZ GddZ GddZdZdS)NceZdZdS) GlueErrorN__name__ __module__ __qualname__/srv/buildsys-work-dir/castor/build_node/builder-2/WGSG1/unpkd_srcs/cloudlinux-venv-1.0.6/venv/lib/python3.11/site-packages/guppy/etc/Glue.pyrrDr rceZdZdS)RecursionErrorNrr r r rr r r rceZdZdS)NoSuchAttributeErrorNrr r r rrr r rc` |j}n#t$rYdSwxYwtjd|S)z Determine if a module is a package - that means, sub-modules can be imported Currently uses that it has a file name that matches '.*__init__.py[co]?$' xxx is this portable/future-safe? rz.*__init__.py[co]?$)__file__AttributeErrorrematch)mnames r ispackagersE z qq 8)4 0 00s  c"|r |r|d|S||zSN.r )firstlasts r dotnamers, %%&&t|r c&eZdZdZdZdZdZdS) Interfacecv||jd<||jd<||jd<|jD]}t||dS)N_share_owner_name)__dict__preloadgetattr)selfshareownerrs r __init__zInterface.__init__'sT"' h"' h!% gM  D D$      r crd|dzdd|DzS)N,=cg|]}d|zS)z self._root.%sr ).0rs r z%Interface._import../s0Z0Z0ZD41G0Z0Z0Zr )join)r(namess r _importzInterface._import.s8xx$sxx0Z0ZTY0Z0Z0Z'['[[[r c8|j||SN)r"r'r(rs r __getattr__zInterface.__getattr__1s{""4...r c:|j|||Sr6)r"setattr)r(rvalues r __setattr__zInterface.__setattr__4s{""4u555r N)rrrr+r4r8r<r r r r r &sS   \\\///66666r r c.eZdZdZdZdZdZddZdS) Ownerc>||_i|_i|_i|_dSr6)rgalogsalogintersr7s r r+zOwner.__init__9s"    r cFt|d|}d|j|<dS)Nr$)rr@)r(cachers r log_getattrzOwner.log_getattr?s'uW~t,, 4r cd|j|<dS)NrD)rAr7s r log_setattrzOwner.log_setattrCs 4r ct|d|}||jvr=|j}|t|tr|}nt}|||||j|<|j|S)Nr$)rrBClamp issubclassr )r(rEr)rrJ NewInterfaces r makeInterfacezOwner.makeInterfaceFsquW~t,,  # #KE Zy%A%A $ ( !-eT4!@!@DK {5!!r Nrc| tj}|sRtd|jz|t|jd|jddz|g}|jD]>}|jD]}||kr||rn ||?||D]}td|dS)NzAttributes used by %s:filerrDz ) sysstdoutprintrrindexr@ startswithappendsort)r(outshortcompleteabs r ppzOwner.ppQs ;*C A *TY6S A A A A $)4TY--c221445C @ @ @ @ # #AZ # #66all1oo6E"""   A &!      r )Nr)rrrr+rFrHrMr]r r r r>r>8sd  " " "r r>ceZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zejfd ZejfdZdZdS)Share)moduleparentrrJsetablechgable importedfromnowrapwrapattrwrappingdataownersr recursionr&Fc P ||}|}n |jd}||_||_||_||_t |dd|_t|jts"t| dt |dd|_ t|j ts"t| d|p|j D]h}| drQ|tdd}||jvr1||j vr(t| |d|d it |d d}t|ts"t| d i|_i}dx} } |D]} | d } t| d kr-t| d krd} nd} t#| d| d| \}}|}||}||dd}|d}|dkr+| &t)dddi|d} | }n@|dkr+| &t)dddi|d} | }nt#dt|d kr ||ddg}n|d|g}|||<|d}|D]H}|}t |d|zd}|t-d|z||j|<It |dd|_t|jts"t| dt |dd}t|t0js$|"t| d||_d|_i|_i|_|dupt;||_||jd<||jd<||jd<d|_t |d d}|rBd|_t)dddi|d}|D]}t |||D] }||jvsJ||_dS)!N_root _setable_r z'the _setable_ attribute must be a tuple _chgable_z'the _chgable_ attribute must be a tuple_set_z3 must be in either _setable_ or _chgable_ for _set_z to work _imports_z'the _imports_ attribute must be a tuple:zToo manyNoz ':' in import directive rrDr_parentr$z'Module must begin with _parent or _rootr-_get_%sz6Cant have both name (=%r) in boht importfrom and _get_nowrap_z&the _nowrap_ attribute must be a tuple _wrapattr_z)the _wrapattr_ attribute must be a method_module _preload_) rhr`rarrJr'rb isinstancetuple TypeErrormessagercr%rUlenrdsplit SyntaxErrorstripgetr>rM ValueErrorretypes FunctionTyperfrgrirrjr&)r(r`rarrJrootattrimportspres parent_inter root_interfipresufspresufprepahdtahdhdosufssuimrfr&inters r r+zShare.__init__isH >FDD;w'D    uk266 $,.. <DLL9;;<< <uk266 $,.. <DLL9;;<< <   C C??7++CG .D4<//D 4L4L' 59TT444A)B)BCCC%b11'5)) <DLL9;;<< <$(( z) .) .BXXc]]F6{{av;;??"AAA!aaa"LMMMHC))++CHHSMME}yya((!W??#+',Ryy'>'>$bM62(7(7 &CC7]]!)%*2YY%<%<$bM4&5&5 $CC%ACCCt99>> $q'40EE "cNE!S 99S>>D . .XXZZUIND99>$PSUUWWW).!"%% .eZ44 $+u-- ;DLL8::;; ;5,55(E$677 >H> >     4<9V+<+<% )! '% )%b11  %DL"II++WbM4DDE % %t$$$$ % %D49$$$$$ r c*|jd|jd|S)Nz: in z: ) __class__r)r(msgs r r~z Share.messages"&...$)))SSAAr cn|j}|j}|||||}||jvr|||<|Sr6)r#r%getattr2rc)r(rrr*rEds r r'z Share.getattrsB  MM%t 4 4 t| # #E$Kr cPjr||||jvrC xjdz c_ jr> |}n<#t $r|}YnwxYw|}na#t $rT|dkrfdcYxjdzc_S|dkrfdcYxjdzc_S|}YnwxYwj }|;|j vr2j rJ d_ |||}d_ n #d_ wxYw|j|<xjdzc_n#xjdzc_wxYwj|}t|tr||||}|S)NrD__repr__c"tSr6)str)rsr z Share.getattr2..s s5zzr __str__cTdjdttdS)N)r$hexid)rr(sr rz Share.getattr2..s(ADRXX(Pr r)has_getattr_logging_enabledrFrhrjrgetattr3rgetattr_packagegetattr_modulerfrergr{r_rM)r(rrEr*rxrfs`` r rzShare.getattr2sC  + +   eT * * * ty  $!#=~7B $ eT : :AA3BBB $ 4 4UD A AAAAB!MM%66+===z))111111 !#** P P P P PPP!#!//t<<= ='D ,C,C#},,,*() $HUAt44()  ))))"# $!#!# IdO a   4##E1d33AsEBAB A>;B=A>>BEC6-E? C6 EC63E5C66ED1)E1 D:: EE*c t|j|S#t$r td|jjd|wxYw)NzModule z% or its _GLUECLAMP_ has no attribute )r'r`rr)r(rrs r rzShare.getattr_modules_ -4;-- - - - - . $$$dd",-- - -s *Ac t||}|jr|||}n`#t$rS}|jdd||zks |js|dvr|||}Yd}~nd}~wwxYwt|tj r| ||}|S)NrzNo module named '%s')rr) __import__makeNamer`r ImportErrorargsrr{r ModuleType makeModule)r(rrrexcs r rzShare.getattr_packages 54==..//A{ 5''t44 + + + 7$--:M:MMMMN)-5L)L)L eT**AAAAAA  + a) * * )4((As"A B A BBc|jdkrt||j}|t| t ||}t |t jrt j||}|S#t$rYnwxYw t |d|z}| |}t||d}t j||}|}t |tr |j d}|S#t$rYnwxYw||j vrX|j |}|\} } } | 1| } | d} | D]} t | | } | |d<t | |}|St |dd}|t|t|dr|d }|D]z}|}|d}|}|D]&}|}t ||}' t ||}|cS#t$rYwwxYwt|) N rvrur"rrr _GLUEPATH_rr-)rjrrJrr'r{rr MethodTyper makeOwnerr r%rdrhasattrr)r(rrrJrrr*frrtapatasatgpr[bsiir\s r rzShare.getattr3s >R   && &  =&t,, , t$$A!U/00 /$Q..H     D   D 011BNN4((EdE2..E U++AA!Y'' )Jx(H    D  4$ $ $%d+EKCRzhhsmm))B RBBaD!!AH UL$ / / :&t,, , 2w   #B  A ABB $ $GGIIR^^ B%%"    #4(((s5A55 BBD DDH'' H43H4cRt|dd}t|||j|S)N _GLUECLAMP_)r'r_r)r(r`rrJs r rzShare.makeModule\s) t44VT6?E:::r c,|jr |jd|}|Sr)rr7s r rzShare.makeName`s# 9 /"iii.D r cb||}t|}||j|<|Sr6)rr>ri)r(r owner_namer*s r rzShare.makeOwneres1]]4(( j!!"' J r c|jsdStd|jz|tddt|jzz|t |j}||D]T}||ddzd}t|||j|dUt|dS)NzDependencies found for %srOz------------------------rrD)rY) rirSrrlistkeysrWrTr])r(rXrkeylastnames r r]zShare.ppks{  F )DI5C@@@@ 'C NN(::EEEEDK$$&&''  ) )C3::c??1,--.H ( % % % % K   a  ( ( ( ( 3r c||t|jD]2\}}|dvr)t |t r|3dS)N)rlrt)r]rrhitemsr{r_rpp)r(rXkrs r rz Share.rppxsn  **++  DAq,,,a''EEGGG  r c|j}|td|z|j}|j}||vr.||vr*||jvr|j||ustd|z||jvr%|j||ur||vrtd|zt |d|zd}| |||||j|<||vr ||j|<dSdS)Nz;Can not change attribute %r because no _GLUECLAMP_ defined.zICan not change attribute %r, because it is not in _setable_ or _chgable_.zLCan not change attribute %r, because it is already set and not in _chgable_.z_set_%s)rJrrbrcrhr'r%)r(rrr;rJrbrcrs r r:z Share.setattrs2  =MPTTVV V,,   D$7$7di''DIdOu,D,D026788 8 49  4!=!=$gBUBU359:;; ;UI,d 3 3 > Bue    $ w  #(EN4   r N)rrr __slots__rr+r~r'rrrrrrrrQrRr]rr:r r r r_r_cs@I#(jjjXBBB&&&P--- ;););)z;;;  Z    j)))))r r_ceZdZdZdS)Testc||_dSr6)r)r(rs r r+z Test.__init__s  r N)rrrr+r r r rrs#r rceZdZdS)rNrr r r rrr r rcvtdddd}tdddi|d}|S)zCreate a new guppy Root object. All functionality in the system may be accessed from this object. Modules are imported on demand when accessed. Other objects may be created or imported on demand using Guppy Glue+ directives. Nrur$)r_r>rM)r)rs r Rootrs= $b$ ' 'E b " ub99A Hr )rrQr Exceptionrrrrrobjectr r>r_rrrr r r rs              Y        9    1 1 166666666$((((((((Vr)r)r)r)r)r)r)r)j                r