Spade
Mini Shell
| Directory:~$ /proc/self/root/usr/lib/python2.7/site-packages/libpasteurize/fixes/ |
| [Home] [System Details] [Kill Me] |
�
,�]c@s�dZddlmZddlmZmZmZmZmZddl m
Z
mZmZdZ
dZdZdZd �Zed
�Zed�Zdejfd
��YZdS(ug
Fixer for Python 3 function parameter syntax
This fixer is rather sensitive to incorrect py3k syntax.
i����(t
fixer_base(ttokentStringtNewlinetCommatName(tindentationtsuitifyt
DoubleStaru=%(name)s = %(kwargs)s['%(name)s']; del
%(kwargs)s['%(name)s']u'if '%(name)s' in
%(kwargs)s: %(assign)suelse: %(name)s =
%(default)su_3to2kwargsccs|djtjkr(t|�dks.t�d}t|�}x�||kr
||}|j}|jtjkr�|d7}qCn|dk r�|jtjkr�Pn|j }|j
}|dk r�|jtjkr�|j
}|d7}nd}||fV|d7}qCWdS(u�
Generator that yields tuples of (name, default_value) for each
parameter in the list
If no default is given, then it is default_value is None (not
Leaf(token.NAME, 'None'))
iiiN(ttypeRtSTARtlentAssertionErrortprev_siblingtNAMEtNonet
DOUBLESTARtvaluetnext_siblingtEQUAL(t
raw_paramstcurr_idxtmax_idxt curr_itemt prev_itemtnametnxtt
default_value((sB/usr/lib/python2.7/site-packages/libpasteurize/fixes/fix_kwargs.pyt
gen_paramss&.
cCs�|djtjkst�|djtjkr[|dj�|dj�|d}n
|d}x5|D])}|jtjkr�|j�qltSqlWtSdS(u�
Removes all keyword-only args from the params list and a bare star, if
any.
Does not add the kwargs dict if needed.
Returns True if more action is needed, False if not
(more action is needed if no kwargs dict exists)
iiiiN( R RR
RtCOMMAtremoveRtFalsetTrue(Rtkwargs_defaultt kw_paramstparam((sB/usr/lib/python2.7/site-packages/libpasteurize/fixes/fix_kwargs.pyt
remove_params+s
cCs�t}t}x�|dD]�}|jtjkr5qq|jtjkrW|rWt}q|jtjkr�|r�|r||jSdS|jtjkrt}qqW|r�|SdSdS(u�
Returns string with the name of the kwargs dict if the params after the
first star need fixing
Otherwise returns empty string
iuN(RR RRRR
RR(RR!tfound_kwargst needs_fixtt((sB/usr/lib/python2.7/site-packages/libpasteurize/fixes/fix_kwargs.pytneeds_fixingAs
t FixKwargscBseZdZdZd�ZRS(iu^funcdef<
'def' NAME parameters< '(' arglist=typedargslist<
params=any* > ')' > ':' suite=any >c
Cs?|d}x>t|�D],\}}|jtjkr||}PqqWdSt|�}|sadSt|�|jd}|jd}t|�} xt|�D]�\}
}|dkr�|j
dt��|j
dtt
i|
d6|d6d| ��q�|j
dt��|j
dtti|
d6|d6d| ��|j
dt��|j
dttit
i|
d6|d6d6|
d6|d6d| ��q�W| |_d |jd_t|�}|r;|d
}
t|
j�dkr|
jdjtjkr|
jt��n|
jtdd
��|
jt|��ndS(Nuparamsiiunameukwargstprefixudefaultuassignuuarglistii����u
(t enumerateR RR
R(RtchildrenRRRtinsert_childRRt_assign_templatet_else_templatet_if_templateR*R$RRtappend_childRRR(tselftnodetresultstparams_rawlisttititemt
new_kwargstsuitet
first_stmttidentRRtmust_add_kwargstarglist((sB/usr/lib/python2.7/site-packages/libpasteurize/fixes/fix_kwargs.pyt transform`s<
1.K
.(t__name__t
__module__t run_ordertPATTERNR>(((sB/usr/lib/python2.7/site-packages/libpasteurize/fixes/fix_kwargs.pyR)ZsN(t__doc__tlib2to3Rtlib2to3.fixer_utilRRRRRtlibfuturize.fixer_utilRRRR.R0R/t_kwargs_default_nameRR$R(tBaseFixR)(((sB/usr/lib/python2.7/site-packages/libpasteurize/fixes/fix_kwargs.pyt<module>s(