ref: e1bb660ef2d15d9f53638d60c9e15aaa8579b9bf
dir: /sys/src/cmd/hg/mercurial/demandimport.pyc/
�� �$�Jc @swdZddkZeZdefd��YZddddd�Zdddd d ddd gZd�Z d�Z dS(sU demandimport - automatic demandloading of modules To enable this module, do: import demandimport; demandimport.enable() Imports of the following forms will be demand-loaded: import a, b.c import a.b as c from a import b,c # a will be loaded immediately These imports will not be delayed: from a import * b = __import__(a) i����Nt _demandmodcBsMeZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z RS(smodule demand-loader and proxycCstd|jo%|idd�\}}|g}n |}g}ti|d||||f�ti|dd�dS(Nt.it_datat_module(tsplittobjectt__setattr__tNone(tselftnametglobalstlocalstheadtresttafter((s./mercurial/demandimport.pyt__init__ s cCs|idi|�dS(s%add to the list of submodules to loadiN(Rtappend(RR ((s./mercurial/demandimport.pyt_extend)scs�|ip�|i\}}}}t|||�}�fd��x|D]}�||�qGW|o$|i|�|jo|||<nti|d|�ndS(Ncs�|d}}d|jo|idd�\}}nt||�p&t||t||i|i��n"|o�t||�|�ndS(NRi(RRthasattrtsetattrRt__dict__tgetattr(tmodtpthtt(tsubload(s./mercurial/demandimport.pyR1s &R(RRt_origimporttgetRR(RRR RRRtx((Rs./mercurial/demandimport.pyt_load,s cCs,|iod|idSnd|idS(Ns<proxied module '%s'>is<unloaded module '%s'>(RR(R((s./mercurial/demandimport.pyt__repr__Bs cOstdt|���dS(Ns%s object is not callable(t TypeErrortrepr(Rtargstkwargs((s./mercurial/demandimport.pyt__call__FscCs;|djoti||�Sn|i�t|i|�S(NRRRR(s_datas_extends_loads_module(Rt__getattribute__RRR(Rtattr((s./mercurial/demandimport.pyR%Hs cCs!|i�t|i||�dS(N(RRR(RR&tval((s./mercurial/demandimport.pyRMs ( t__name__t __module__t__doc__RRRRR$R%R(((s./mercurial/demandimport.pyRs c Cs|p|tjp |djo>|djot||||�Sqt|||||�Sn�|p�d|jo�|idd�\}}|o0|idd�|jot||||�Sn||jo5t||t�o||i|�n||Sq nt|||�Sn�|dj ot|||||�Snt|||�}x`|id�dD]K}t||�p&t ||t||i |i ��nt||�}qjWxA|D]9} t|| �p#t || t| |i |��q�q�W|SdS(Nt*RiR((R+(tignoreRRRRt isinstanceRRRRRR( R R RtfromlisttleveltbaseR RtcompR((s./mercurial/demandimport.pyt _demandimportQs6" &'t_hashlibt_xmlplustfcntlswin32com.gen_pyt pythoncomtpwdtgrptresourcecCs tt_dS(s'enable global demand-loading of modulesN(R2t__builtin__t __import__(((s./mercurial/demandimport.pytenable�scCs tt_dS(s(disable global demand-loading of modulesN(RR:R;(((s./mercurial/demandimport.pytdisable�s(R*R:R;RRRRR2R,R<R=(((s./mercurial/demandimport.pys<module>s3&