# shellcheck shell=dash

___x_cmd log init python

xrc:mod:lib     python        __setarg_ enginerun load co

# Parsing the argument ...
___x_cmd_python___main(){
    [ "$#" -gt 0 ] || {
        ( ___x_cmd_python___cmd python3 )
        return
    }

    local op="$1"; shift
    case "$op" in
        ,|，|--co)          ___x_cmd_python_co                  "$@" ;;
        ,,|，，|--coco)     ___x_cmd_python_coco                 "$@" ;;

        load)               ___x_cmd_python_load                "$@" ;;
        loaded)             ___x_cmd_python_loaded                   ;;
        --lint-pipe)        ___x_cmd_python_lint_pipe                ;;
        --compile-pipe)     ___x_cmd_python_compile_pipe             ;;

        "$___X_CMD_ENGINE_SUBCMD_NAME")    
                            ___x_cmd_python___enginerun         "$@" ;;
        *)                  ___x_cmd_python___enginerun "$op"   "$@" ;;
    esac
}

___x_cmd_python___cmd(){
    if ___x_cmd_hasbin "$1" && ___x_cmd_hasbin pip3; then
        "$@"
        return
    fi
    ___x_cmd snap --run "$@"   
}

___x_cmd_python_lint_pipe(){
    ___x_cmd_python___cmd python3 "$___X_CMD_ROOT_MOD/python/lib/lint_pipe.py"
}

___x_cmd_python_compile_pipe(){
    ___x_cmd_python___cmd python3 "$___X_CMD_ROOT_MOD/python/lib/compile_pipe.py"
}
