# We load the "non interactive" profile
. /opt/metwork-mfadmin-master/share/profile

function __prompt_without_x_mode() {
    PLUGIN_NAME=${MFADMIN_CURRENT_PLUGIN_NAME}
    if test "${PLUGIN_NAME}" != ""; then
        if test "mfadmin" != "`whoami`"; then
            export LP_PS1_PREFIX="${LP_MARK_BATTERY}MFADMIN, plugin_env: ${PLUGIN_NAME}${LP_MARK_BATTERY}"
        else
            export LP_PS1_PREFIX="${LP_MARK_BATTERY}plugin_env: ${PLUGIN_NAME}${LP_MARK_BATTERY}"
        fi
    elif test "${VIRTUAL_ENV:-}" != ""; then
        local VENV_NAME=$(basename "${VIRTUAL_ENV}")
        if test "mfadmin" != "`whoami`"; then
            export LP_PS1_PREFIX="${LP_MARK_BATTERY}MFADMIN, venv: ${VENV_NAME}${LP_MARK_BATTERY}"
        else
            export LP_PS1_PREFIX="${LP_MARK_BATTERY}venv: ${VENV_NAME}${LP_MARK_BATTERY}"
        fi
        local PYTHON_MODE=${METWORK_PYTHON_MODE:-3}
        local N=$(is_layer_loaded python${PYTHON_MODE}@mfext 2>/dev/null)
        if test "${N}" != "0"; then
            layer_unload python${PYTHON_MODE}_core@mfext >/dev/null 2>&1
            layer_load python${PYTHON_MODE}_core@mfext >/dev/null 2>&1
            PATH=$(_field_prepend "${PATH}" "${VIRTUAL_ENV}/bin")
            export PATH
            unset PYTHONPATH
        fi
    else
        if test "mfadmin" != "`whoami`"; then
            export LP_PS1_PREFIX="${LP_MARK_BATTERY}MFADMIN${LP_MARK_BATTERY}"
        fi
    fi
    unset PLUGIN_NAME
    local X_MODE=`echo $- |grep -c 'x'`
    if test ${X_MODE} -gt 0; then
        # we temporary remove the -x mode before loading
        # the prompt
        set +x
    fi
    #__lp_set_prompt
    if test ${X_MODE} -gt 0; then
        set -x
    fi
}

# Prompt
if test "${LIQUIDPROMPT}" != "0"; then
    if test -f /opt/metwork-mfext-master/opt/core/share/liquidprompt/liquidprompt; then
        # We load liquidprompt as a prompt
        export LP_ENABLE_TEMP=0
        export LP_ENABLE_PERM=0
        export LP_ENABLE_LOAD=0
        export LP_ENABLE_BATT=0
        export LP_ENABLE_FOSSIL=0
        export LP_ENABLE_HG=0
        export LP_ENABLE_BZR=0
        export LP_ENABLE_RUNTIME=0
        export LP_ENABLE_VIRTUALENV=0
        PROMPT_COMMAND=__prompt_without_x_mode
        PLUGIN_NAME=$(env |grep "^${MFMODULE}_CURRENT_PLUGIN_NAME" |awk -F '=' '{print $2;}')
        . /opt/metwork-mfext-master/opt/core/share/liquidprompt/liquidprompt >/dev/null 2>&1
        unset PLUGIN_NAME
    fi
fi

CLEAR=`which_or_empty clear.sh`
if test "${CLEAR}" != ""; then
    alias clear="${CLEAR}"
fi
LAUNCH_CRONTAB=`which_or_empty _launch_crontab`
if test "${LAUNCH_CRONTAB}" != ""; then
    alias crontab="${LAUNCH_CRONTAB}"
fi
alias debug="metwork_debug"
alias pip="${MFEXT_HOME}/bin/pip_wrapper"

alias circusctl="_circusctl --endpoint ${MFADMIN_CIRCUS_ENDPOINT} --timeout=10"

if test "${PROFILE_ERROR}" = "1"; then
    exit 1
fi

if test "${NOCLEAR}" != "1"; then
    clear
fi
cat <<EOF
           __  __      ___          __        _
          |  \/  |    | \ \        / /       | |
          | \  / | ___| |\ \  /\  / /__  _ __| | __
          | |\/| |/ _ \ __\ \/  \/ / _ \| '__| |/ /
          | |  | |  __/ |_ \  /\  / (_) | |  |   <
          |_|  |_|\___|\__| \/  \/ \___/|_|  |_|\_\\

EOF

if test "$(which_or_empty echo_bold)" != ""; then

    echo_bold "Welcome on ${MFHOSTNAME} (${MFHOSTNAME_FULL}, ${MFHOSTNAME_FULL_IP})"

    if test "${MFCONFIG:-}" != "GENERIC"; then
        echo "(module: ${MFMODULE}, config: ${MFCONFIG}, version: ${MFMODULE_VERSION})"
    else
        echo "(module: ${MFMODULE}, version: ${MFMODULE_VERSION})"
    fi
    echo
fi

uptime

echo

alias influx="influx -database metrics -host localhost -port ${MFADMIN_INFLUXDB_HTTP_PORT}"

# see https://github.com/metwork-framework/mfext/issues/544
# => can help to ignore some processes in list_metwork_processes.py output
export METWORK_LIST_PROCESSES_FORCE=0
