Edit File: checkappend.pyc
� ��7ec�����������@���s����d��Z��d�Z�d�d�l�Z�d�d�l�Z�d�d�l�Z�d�d�l�Z�d�a�d����Z�d����Z�d����Z �e �d���\�Z�Z�Z �Z�Z�d �d �d �������YZ�e�d�k�r��e����n��d�S(���s���checkappend.py -- search for multi-argument .append() calls. Usage: specify one or more file or directory paths: checkappend [-v] file_or_dir [file_or_dir] ... Each file_or_dir is checked for multi-argument .append() calls. When a directory, all .py files in the directory, and recursively in its subdirectories, are checked. Use -v for status msgs. Use -vv for more status msgs. In the absence of -v, the only output is pairs of the form filename(linenumber): line containing the suspicious append Note that this finds multi-argument append calls regardless of whether they're attached to list objects. If a module defines a class with an append method that takes more than one argument, calls to that method will be listed. Note that this will not find multi-argument list.append calls made via a bound method object. For example, this is not caught: somelist = [] push = somelist.append push(1, 2, 3) i���i����i����Nc����������G���s3���d�j��|����}�t�j�j�|���t�j�j�d���d��S(���Nt��� s��� (���t���joint���syst���stderrt���write(���t���argst���msg(����(����s1���/usr/lib64/python2.7/Tools/scripts/checkappend.pyt���errprint+���s����c����������C���s����t��j�d�}��y#�t�j�t��j�d�d���\�}�}��Wn/�t�j�k �ra�}�t�t�|���d�t���d��SXx-�|�D]%�\�}�}�|�d�k�ri�t�d�a�qi�qi�W|��s��t�t���d��Sx�|��D]�}�t�|���q��Wd��S(���Ni���t���vs��� s���-v( ���R���t���argvt���getoptt���errorR���t���strt���__doc__t���verboset���check(���R���t���optsR���t���optt���optargt���arg(����(����s1���/usr/lib64/python2.7/Tools/scripts/checkappend.pyt���main0���s���� # c���������C���sK��t��j�j�|����r��t��j�j�|����r��t�r:�d�|��f�GHn��t��j�|����}�xq�|�D]i�}�t��j�j�|��|���}�t��j�j�|���r��t��j�j�|���s��t��j�j�|�d���d�k�rP�t�|���qP�qP�Wd��Sy�t �|����}�Wn(�t �k �r��}�t�d�|��|�f���d��SXt�d�k�rd�|��f�GHn��t�|��|���j ����}�t�rG|�rGd�|��f�GHn��d��S(���Ns���%r: listing directoryi����s���.pys���%r: I/O Error: %si���s���checking %r ...s���%r: Clean bill of health.(���t���ost���patht���isdirt���islinkR���t���listdirR���t���normcaseR���t���opent���IOErrorR���t ���AppendCheckert���run(���t���filet���namest���namet���fullnamet���fR���t���ok(����(����s1���/usr/lib64/python2.7/Tools/scripts/checkappend.pyR���A���s*����% i���R���c�����������B���sD���e��Z�d�����Z�d����Z�e�j�e�j�e�j�f�e�j�e�j �d���Z �RS(���c���������C���s(���|�|��_��|�|��_�t�|��_�d�|��_�d��S(���Ni����(���t���fnameR���t���FIND_DOTt���statet���nerrors(���t���selfR%���R���(����(����s1���/usr/lib64/python2.7/Tools/scripts/checkappend.pyt���__init__b���s���� c���������C���sj���y�t��j��|��j�j�|��j���Wn=�t��j�k �r\�}�t�d�|��j�|�f���|��j�d�|��_�n�X|��j�d�k�S(���Ns���%r: Token Error: %si���i����(���t���tokenizeR���t���readlinet ���tokeneatert ���TokenErrorR���R%���R(���(���R)���R���(����(����s1���/usr/lib64/python2.7/Tools/scripts/checkappend.pyR���h���s����c ���������C���s���|��j��} �|�|�k�r�n�| �t�k�rH�|�|�k�r�|�d�k�r�t�} �q�n�| �t�k�r��|�| �k�r��|�d�k�r��|�|��_�|�d�|��_�t�} �q�t�} �n9| �t�k�r��|�|�k�r��|�d�k�r��d�|��_�t�} �q�t�} �n��| �t�k�r�|�|�k�r�|�d�k�r |��j�d�|��_�q�|�d�k�rA|��j�d�|��_�|��j�d�k�r�t�} �q�q�|�d�k�r�|��j�d�k�r�|��j�d�|��_�d�|��j �|��j�|��j�f�GHt �} �q�q�n7�| �t �k�r�|�|�k�r�t�} �q�n�t�d �| �f�����| �|��_��d��S(���Nt���.t���appendi����t���(i���t���{t���[t���)t���}t���]t���,s ���%s(%d): %ss���unknown internal state '%r'(���R1���R2���R3���(���R4���R5���R6���(���R'���R&���t���FIND_APPENDt���linet���linenot���FIND_LPARENt���levelt ���FIND_COMMAR(���R%���t ���FIND_STMTt���SystemError(���R)���t���typet���tokent���startt���endR9���t���NEWLINEt���JUNKt���OPt���NAMER'���(����(����s1���/usr/lib64/python2.7/Tools/scripts/checkappend.pyR-���p���sF���� (���t���__name__t ���__module__R*���R���R+���RD���t���COMMENTt���NLRF���RG���R-���(����(����(����s1���/usr/lib64/python2.7/Tools/scripts/checkappend.pyR���a���s��� t���__main__(���i���i����i����(����(���R ���t���__version__R���R���R ���R+���R���R���R���R���t���rangeR&���R8���R;���R=���R>���R���RH���(����(����(����s1���/usr/lib64/python2.7/Tools/scripts/checkappend.pyt���<module> ���s��� E