#!/bin/bash [[ -z "$BALLS_LIB" ]] && global BALLS_LIB := '.' [[ -z "$BALLS_CONF" ]] && global BALLS_CONF := './config.sh' [[ -z "$BALLS_ROOT" ]] && global BALLS_ROOT := $[readlink -f "$[dirname $BALLS_CONF]/../] [[ -z "$BALLS_LIB" ]] && global BALLS_LIB := $[dirname $0] [[ -z "$BALLS_TMP" ]] && global BALLS_TMP := '/tmp/balls' [[ -d "$BALLS_TMP" ]] || mkdir $BALLS_TMP [[ -z "$BALLS_PORT" ]] && global BALLS_PORT := '3000' [[ -z "$BALLS_VIEWS" ]] && global BALLS_VIEWS := "$BALLS_ROOT/views" [[ -z "$BALLS_ACTIONS" ]] && global BALLS_ACTIONS := "$BALLS_ROOT/actions" source $BALLS_LIB/util.sh source $BALLS_LIB/http.sh source $BALLS_LIB/router.sh source $BALLS_LIB/server.sh source $BALLS_LIB/view.sh source $BALLS_LIB/model.sh (CommandList children: [ (AndOr children: [ (DBracket expr:(BoolUnary op_id:BoolUnary_z child:{(DQ ($ VSub_Name "$BALLS_LIB"))})) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:BALLS_LIB) op:Equal rhs:{(.)} spids:[15])] spids: [15] ) ] op_id: Op_DAmp ) (AndOr children: [ (DBracket expr:(BoolUnary op_id:BoolUnary_z child:{(DQ ($ VSub_Name "$BALLS_CONF"))})) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:BALLS_CONF) op:Equal rhs:{(./config.sh)} spids:[31])] spids: [31] ) ] op_id: Op_DAmp ) (AndOr children: [ (DBracket expr:(BoolUnary op_id:BoolUnary_z child:{(DQ ($ VSub_Name "$BALLS_ROOT"))})) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:BALLS_ROOT) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(readlink)} {(-f)} { (DQ (CommandSubPart command_list: (CommandList children: [(C {(dirname)} {($ VSub_Name "$BALLS_CONF")})] ) left_token: spids: [53 57] ) (/../) ) } ) ] ) left_token: spids: [47 60] ) } spids: [46] ) ] spids: [46] ) ] op_id: Op_DAmp ) (AndOr children: [ (DBracket expr:(BoolUnary op_id:BoolUnary_z child:{(DQ ($ VSub_Name "$BALLS_LIB"))})) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:BALLS_LIB) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(dirname)} {($ VSub_Number "$0")})]) left_token: spids: [75 79] ) } spids: [74] ) ] spids: [74] ) ] op_id: Op_DAmp ) (AndOr children: [ (DBracket expr:(BoolUnary op_id:BoolUnary_z child:{(DQ ($ VSub_Name "$BALLS_TMP"))})) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:BALLS_TMP) op:Equal rhs:{(/tmp/balls)} spids:[94])] spids: [94] ) ] op_id: Op_DAmp ) (AndOr children: [ (DBracket expr:(BoolUnary op_id:BoolUnary_d child:{(DQ ($ VSub_Name "$BALLS_TMP"))})) (C {(mkdir)} {(DQ ($ VSub_Name "$BALLS_TMP"))}) ] op_id: Op_DPipe ) (AndOr children: [ (DBracket expr:(BoolUnary op_id:BoolUnary_z child:{(DQ ($ VSub_Name "$BALLS_PORT"))})) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:BALLS_PORT) op:Equal rhs:{(3000)} spids:[128])] spids: [128] ) ] op_id: Op_DAmp ) (AndOr children: [ (DBracket expr:(BoolUnary op_id:BoolUnary_z child:{(DQ ($ VSub_Name "$BALLS_VIEWS"))})) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:BALLS_VIEWS) op: Equal rhs: {($ VSub_Name "$BALLS_ROOT") (/views)} spids: [144] ) ] spids: [144] ) ] op_id: Op_DAmp ) (AndOr children: [ (DBracket expr:(BoolUnary op_id:BoolUnary_z child:{(DQ ($ VSub_Name "$BALLS_ACTIONS"))})) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:BALLS_ACTIONS) op: Equal rhs: {($ VSub_Name "$BALLS_ROOT") (/actions)} spids: [160] ) ] spids: [160] ) ] op_id: Op_DAmp ) (C {(.)} {($ VSub_Name "$BALLS_LIB") (/util.sh)}) (C {(.)} {($ VSub_Name "$BALLS_LIB") (/http.sh)}) (C {(.)} {($ VSub_Name "$BALLS_LIB") (/router.sh)}) (C {(.)} {($ VSub_Name "$BALLS_LIB") (/server.sh)}) (C {(.)} {($ VSub_Name "$BALLS_LIB") (/view.sh)}) (C {(.)} {($ VSub_Name "$BALLS_LIB") (/model.sh)}) ] )