(CommandList children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_Pound '$#')} {(-ne)} {(1)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} {(DQ ('Usage: ') ($ VSub_Number '$0') (' <zipcode>'))}) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [16777215 20] ) ] spids: [16777215 36] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:apikey) op: Equal rhs: {(DQ (b0304b43b2e7cd23))} spids: [39] ) ] spids: [39] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:weather) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(curl)} {(-s)} { (DQ ('https://api.wunderground.com/api/') ($ VSub_Name '$apikey') (/conditions/q/) ($ VSub_Number '$1') (.xml) ) } ) ] ) left_token: <Left_Backtick '`'> spids: [49 63] ) } spids: [48] ) ] spids: [48] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:state) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(xmllint)} {(--xpath)} {(//response/current_observation/display_location/full/text) (EscapedLiteralPart token:<Lit_EscapedChar '\\('>) (EscapedLiteralPart token:<Lit_EscapedChar '\\)'>) } { (CommandSubPart command_list: (CommandList children: [(C {(echo)} {($ VSub_Name '$weather')})] ) left_token: <Left_ProcSubIn '<('> spids: [79 83] ) } ) ] ) left_token: <Left_Backtick '`'> spids: [66 84] ) } spids: [65] ) ] spids: [65] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:zip) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(xmllint)} {(--xpath)} {(//response/current_observation/display_location/zip/text) (EscapedLiteralPart token:<Lit_EscapedChar '\\('>) (EscapedLiteralPart token:<Lit_EscapedChar '\\)'>) } { (CommandSubPart command_list: (CommandList children: [(C {(echo)} {($ VSub_Name '$weather')})] ) left_token: <Left_ProcSubIn '<('> spids: [100 104] ) } ) ] ) left_token: <Left_Backtick '`'> spids: [87 105] ) } spids: [86] ) ] spids: [86] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:current) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(xmllint)} {(--xpath)} {(//response/current_observation/temp_f/text) (EscapedLiteralPart token:<Lit_EscapedChar '\\('>) (EscapedLiteralPart token:<Lit_EscapedChar '\\)'>) } { (CommandSubPart command_list: (CommandList children: [(C {(echo)} {($ VSub_Name '$weather')})] ) left_token: <Left_ProcSubIn '<('> spids: [121 125] ) } ) ] ) left_token: <Left_Backtick '`'> spids: [108 126] ) } spids: [107] ) ] spids: [107] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:condition) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(xmllint)} {(--xpath)} {(//response/current_observation/weather/text) (EscapedLiteralPart token:<Lit_EscapedChar '\\('>) (EscapedLiteralPart token:<Lit_EscapedChar '\\)'>) } { (CommandSubPart command_list: (CommandList children: [(C {(echo)} {($ VSub_Name '$weather')})] ) left_token: <Left_ProcSubIn '<('> spids: [142 146] ) } ) ] ) left_token: <Left_Backtick '`'> spids: [129 147] ) } spids: [128] ) ] spids: [128] ) (C {(echo)} {($ VSub_Name '$state') (DQ (' (')) ($ VSub_Name '$zip') (DQ (') : Current temp ')) ($ VSub_Name '$current') (DQ ('F and ')) ($ VSub_Name '$condition') (DQ (' outside.')) } ) ] )