def parseAction( s_txt, n_pos, o_token ): oToken = Token( sName ) for oChild in [ o for o in o_token if isinstance( o, Token ) ]: oToken.addChild( oChild ) lTxt = [ o for o in o_token if isinstance( o, basestring ) ] assert len( lTxt ) < 2 if lTxt: oToken.val = lTxt[ 0 ] oToken.options.update( mOptions ) return oToken