(CommandList children: [ (C {(set)} {(-e)} {(-x)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:action) op:Equal rhs:{($ VSub_Number "$1")} spids:[32])] spids: [32] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {($ VSub_Name "$action")} right: {(DQ (build))} ) ) terminator: <Op_Semi ";"> ) ] action: [ (C {(cd)} {(/io)}) (ForEach iter_name: PYBIN iter_words: [{(/opt/python/) (Lit_Other "*") (/bin)}] do_arg_iter: False body: (DoGroup children: [ (C {(DQ ($ VSub_Name "$PYBIN") (/pip))} {(install)} {(-r)} {(requirements/wheel.pip)}) (C {(DQ ($ VSub_Name "$PYBIN") (/python))} {(setup.py)} {(bdist_wheel)} {(-d)} {(TildeSubPart prefix:"") (/wheelhouse/)} ) ] spids: [74 104] ) spids: [68 72] ) (C {(cd)} {(TildeSubPart prefix:"")}) (ForEach iter_name: whl iter_words: [{(wheelhouse/) (Lit_Other "*") (.whl)}] do_arg_iter: False body: (DoGroup children: [ (C {(auditwheel)} {(repair)} {(DQ ($ VSub_Name "$whl"))} {(-w)} {(/io/dist/)}) ] spids: [128 144] ) spids: [122 126] ) ] spids: [-1 51] ) (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {($ VSub_Name "$action")} right: {(DQ (test))} ) ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:TOXBIN) op: Equal rhs: {(/opt/python/cp27-cp27m/bin)} spids: [169] ) ] spids: [169] ) (C {(DQ ($ VSub_Name "$TOXBIN") (/pip))} {(install)} {(-r)} {(/io/requirements/ci.pip)}) (ForEach iter_name: PYBIN iter_words: [{(/opt/python/) (Lit_Other "*") (/bin/)}] do_arg_iter: False body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PYNAME) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(DQ ($ VSub_Name "$PYBIN") (/python))} {(-c)} { (DQ ( "import sys; print('python{0[0]}.{0[1]}'.format(sys.version_info))" ) ) } ) ] ) left_token: <Left_CommandSub "$("> spids: [201 212] ) } spids: [200] ) ] spids: [200] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:TOXENV) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(DQ ($ VSub_Name "$PYBIN") (/python))} {(-c)} { (DQ ( "import sys; print('py{0[0]}{0[1]}'.format(sys.version_info))" ) ) } ) ] ) left_token: <Left_CommandSub "$("> spids: [216 227] ) } spids: [215] ) ] spids: [215] ) (C {(ln)} {(-s)} {(DQ ($ VSub_Name "$PYBIN") (/) ($ VSub_Name "$PYNAME"))} {(/usr/local/bin/) ($ VSub_Name "$PYNAME")} ) (C {(DQ ($ VSub_Name "$TOXBIN") (/tox))} {(-e)} {($ VSub_Name "$TOXENV")}) (C {(rm)} {(-f)} {(/usr/local/bin/) ($ VSub_Name "$PYNAME")}) ] spids: [197 270] ) spids: [191 195] ) ] spids: [147 162] ) ] else_action: [(C {(echo)} {(DQ ("Need an action to perform!"))})] spids: [273 282] ) ] )