Your IP : 216.73.216.196


Current Path : /opt/alt/python27/lib/python2.7/site-packages/logilab/common/
Upload File :
Current File : //opt/alt/python27/lib/python2.7/site-packages/logilab/common/__init__.pyo

�
�d{Tc@s�dZdZddlmZddlmZdZdZe	Z
defd��YZdefd��YZ
defd��YZdefd��YZddd�Zd�Zd�ZdS(sILogilab common library (aka Logilab's extension to the standard library).

:type STD_BLACKLIST: tuple
:var STD_BLACKLIST: directories ignored by default by the functions in
  this package which have to recurse into directories

:type IGNORED_EXTENSIONS: tuple
:var IGNORED_EXTENSIONS: file extensions that may usually be ignored
srestructuredtext eni����(trange(tversiontCVSs.svns.hgtdebiantdisttbuilds.pycs.pyos.elct~s.swps.origtattrdictcBseZdZd�ZRS(s>A dictionary for which keys are also accessible as attributes.cCs0y||SWntk
r+t|��nXdS(N(tKeyErrortAttributeError(tselftattr((sH/opt/alt/python27/lib/python2.7/site-packages/logilab/common/__init__.pyt__getattr__,s
(t__name__t
__module__t__doc__R(((sH/opt/alt/python27/lib/python2.7/site-packages/logilab/common/__init__.pyR*stdictattrcBseZd�Zd�ZRS(cCs
||_dS(N(t_dictattr__proxy(R
tproxy((sH/opt/alt/python27/lib/python2.7/site-packages/logilab/common/__init__.pyt__init__3scCs8yt|j|�SWntk
r3t|��nXdS(N(tgetattrRR	R(R
R((sH/opt/alt/python27/lib/python2.7/site-packages/logilab/common/__init__.pyt__getitem__6s
(R
RRR(((sH/opt/alt/python27/lib/python2.7/site-packages/logilab/common/__init__.pyR2s	t
nullobjectcBs eZd�Zd�ZeZRS(cCsdS(Ns<nullobject>((R
((sH/opt/alt/python27/lib/python2.7/site-packages/logilab/common/__init__.pyt__repr__=scCstS(N(tFalse(R
((sH/opt/alt/python27/lib/python2.7/site-packages/logilab/common/__init__.pyt__bool__?s(R
RRRt__nonzero__(((sH/opt/alt/python27/lib/python2.7/site-packages/logilab/common/__init__.pyR<s		ttempattrcBs#eZd�Zd�Zd�ZRS(cCs||_||_||_dS(N(tobjRtvalue(R
RRR((sH/opt/alt/python27/lib/python2.7/site-packages/logilab/common/__init__.pyRDs		cCs8t|j|j�|_t|j|j|j�|jS(N(RRRtoldvaluetsetattrR(R
((sH/opt/alt/python27/lib/python2.7/site-packages/logilab/common/__init__.pyt	__enter__IscCst|j|j|j�dS(N(RRRR(R
texctypeRt	traceback((sH/opt/alt/python27/lib/python2.7/site-packages/logilab/common/__init__.pyt__exit__Ns(R
RRR R#(((sH/opt/alt/python27/lib/python2.7/site-packages/logilab/common/__init__.pyRCs		cCs�|dkrg}nxe|D]]}t|ttf�rJt|||�q|dkrf|j|�q|j||��qW|S(s�Flatten a list of list with any level.

    If tr_func is not None, it should be a one argument function that'll be called
    on each final element.

    :rtype: list

    >>> flatten([1, [2, 3]])
    [1, 2, 3]
    N(tNonet
isinstancetlistttupletflattentappend(titerablettr_functresultstval((sH/opt/alt/python27/lib/python2.7/site-packages/logilab/common/__init__.pyR(ls	
c	Cs�g}x�|D]�}|}x2tt|��D]}||t|�||<q-W|r�t|d�t|�t|�}d}xbtt|��D]K}||}x.t|�D] }|j||�|d7}q�W|d7}q�Wn|j|�q
W|S(s
    Given a list of lists, return a list of domain for each list to produce all
    combinations of possibles values.

    :rtype: list

    Example:

    >>> make_domains(['a', 'b'], ['c','d', 'e'])
    [['a', 'b', 'a', 'b', 'a', 'b'], ['c', 'c', 'd', 'd', 'e', 'e']]
    ii(RtlentinsertR)(	tliststdomainsR*t
new_domaintitmissingtjRtdummy((sH/opt/alt/python27/lib/python2.7/site-packages/logilab/common/__init__.pytmake_domains�s 
$
cCsMxF|D]>}||kr)|j|�q||kr|j|�qqWdS(s`remove files/directories in the black list

    dirnames/filenames are usually from os.walk
    N(tremove(t	blacklisttdirnamest	filenamestnorecurs((sH/opt/alt/python27/lib/python2.7/site-packages/logilab/common/__init__.pyt_handle_blacklist�s

N(Rs.svns.hgRRR(s.pycs.pyos.elcRs.swps.orig(Rt
__docformat__t	six.movesRtlogilab.common.__pkginfo__Rt__version__t
STD_BLACKLISTtIGNORED_EXTENSIONStTruetUSE_MX_DATETIMEtdictRRtobjectRRR$R(R7R=(((sH/opt/alt/python27/lib/python2.7/site-packages/logilab/common/__init__.pyt<module>s
)