ACC SHELL
Ñò
sÄMc @ sm d Z d d k l Z d d k l Z l Z l Z l Z l Z l Z d Z
d Z d e i f d „ ƒ YZ
d S( sÜ Adjust some old Python 2 idioms to their modern counterparts.
* Change some type comparisons to isinstance() calls:
type(x) == T -> isinstance(x, T)
type(x) is T -> isinstance(x, T)
type(x) != T -> not isinstance(x, T)
type(x) is not T -> not isinstance(x, T)
* Change "while 1:" into "while True:".
* Change both
v = list(EXPR)
v.sort()
foo(v)
and the more general
v = EXPR
v.sort()
foo(v)
into
v = sorted(EXPR)
foo(v)
i ( t
fixer_base( t Callt Commat Namet Nodet BlankLinet symss0 (n='!=' | '==' | 'is' | n=comp_op< 'is' 'not' >)s( power< 'type' trailer< '(' x=any ')' > >t FixIdiomsc B sQ e Z e Z d e e e e f Z d „ Z d „ Z d „ Z d „ Z
d „ Z RS( sº
isinstance=comparison< %s %s T=any >
|
isinstance=comparison< T=any %s %s >
|
while_stmt< 'while' while='1' ':' any+ >
|
sorted=any<
any*
simple_stmt<
expr_stmt< id1=any '='
power< list='list' trailer< '(' (not arglist<any+>) any ')' > >
>
'\n'
>
sort=
simple_stmt<
power< id2=any
trailer< '.' 'sort' > trailer< '(' ')' >
>
'\n'
>
next=any*
>
|
sorted=any<
any*
simple_stmt< expr_stmt< id1=any '=' expr=any > '\n' >
sort=
simple_stmt<
power< id2=any
trailer< '.' 'sort' > trailer< '(' ')' >
>
'\n'
>
next=any*
>
c C sO t t | ƒ i | ƒ } | o, d | j o | d | d j o | Sd S| S( Nt sortedt id1t id2( t superR t matcht None( t selft nodet r( ( s. /usr/lib/python2.6/lib2to3/fixes/fix_idioms.pyR P s c C sj d | j o | i | | ƒ Sd | j o | i | | ƒ Sd | j o | i | | ƒ St d ƒ ‚ d S( Nt
isinstancet whileR s
Invalid match( t transform_isinstancet transform_whilet transform_sortt RuntimeError( R R t results( ( s. /usr/lib/python2.6/lib2to3/fixes/fix_idioms.pyt transform[ s
c C s› | d i ƒ } | d i ƒ } d | _ d | _ t t d ƒ | t ƒ | g ƒ } d | j o+ d | _ t t i t d ƒ | g ƒ } n | i | _ | S( Nt xt Tu u u
isinstancet nu not( t clonet prefixR R R R R t not_test( R R R R R t test( ( s. /usr/lib/python2.6/lib2to3/fixes/fix_idioms.pyR e s !
"c C s* | d } | i t d d | i ƒƒ d S( NR u TrueR ( t replaceR R ( R R R t one( ( s. /usr/lib/python2.6/lib2to3/fixes/fix_idioms.pyR q s
c C sE | d } | d } | i d ƒ } | i d ƒ } | o | i t d d | i ƒƒ nU | oA | i ƒ } d | _ | i t t d ƒ | g d | i ƒƒ n
t d ƒ ‚ | i ƒ | i } d | j ot | o: | i d ƒ d
| d
i f } d i | ƒ | d
_ qAt
ƒ }
| i i |
ƒ | i d ƒ d
|
_ n d S( Nt sortt nextt listt expru sortedR u s should not have reached hereu
i (
t getR R R R R R t removet
rpartitiont joinR t parentt append_child( R R R t sort_stmtt next_stmtt list_callt simple_exprt newt btwnt prefix_linest end_line( ( s. /usr/lib/python2.6/lib2to3/fixes/fix_idioms.pyR u s*
( t __name__t
__module__t Truet explicitt TYPEt CMPt PATTERNR R R R R ( ( ( s. /usr/lib/python2.6/lib2to3/fixes/fix_idioms.pyR % s '
N( t __doc__t R t
fixer_utilR R R R R R R9 R8 t BaseFixR ( ( ( s. /usr/lib/python2.6/lib2to3/fixes/fix_idioms.pyt <module> s
.
ACC SHELL 2018