Merge pull request #2 from th33xitus/cn-installer-changes
refactor: make some changes to the feature installer
This commit is contained in:
@@ -15,18 +15,15 @@
|
||||
# https://github.com/KwadFan/crowsnest #
|
||||
#=======================================================================#
|
||||
|
||||
# shellcheck enable=require-variable-braces
|
||||
# shellcheck disable=SC2154
|
||||
|
||||
# Error Handling
|
||||
set -e
|
||||
|
||||
# Helper messages
|
||||
|
||||
function multi_instance_message(){
|
||||
echo -e "Crowsnest is NOT designed to support Multi Instances."
|
||||
echo -e "A Workaround for this is to choose the most used instance as a 'master'"
|
||||
echo -e "Use this instance to setup your 'crowsnest.conf' and steering it's service.\n"
|
||||
echo -e "Crowsnest is NOT designed to support multi instances."
|
||||
echo -e "A workaround for this is to choose the most used instance as a 'master'"
|
||||
echo -e "Use this instance to set up your 'crowsnest.conf' and steering it's service.\n"
|
||||
echo -e "Found the following instances:\n"
|
||||
for i in ${1}; do
|
||||
select_msg "${i}"
|
||||
@@ -44,7 +41,7 @@ function check_multi_instance(){
|
||||
local -a instances
|
||||
readarray -t instances < <(find "${HOME}" -regex "${HOME}/[a-zA-Z0-9_]+_data/*" -printf "%P\n" 2> /dev/null | sort)
|
||||
if [[ "${#instances[@]}" -gt 1 ]]; then
|
||||
status_msg "Multi Instance Install detected ..."
|
||||
status_msg "Multi instance install detected ..."
|
||||
multi_instance_message "${instances[*]}"
|
||||
if [[ -d "${HOME}/crowsnest" ]]; then
|
||||
pushd "${HOME}/crowsnest" &> /dev/null || exit 1
|
||||
@@ -68,18 +65,17 @@ function check_multi_instance(){
|
||||
function continue_config() {
|
||||
local reply
|
||||
while true; do
|
||||
read -erp "${cyan}###### Continuing with configuration? (y/N):${white} " reply
|
||||
read -erp "${cyan}###### Continue with configuration? (y/N):${white} " reply
|
||||
case "${reply}" in
|
||||
[Yy]* )
|
||||
break
|
||||
;;
|
||||
[Nn]* )
|
||||
Y|y|Yes|yes)
|
||||
select_msg "Yes"
|
||||
break;;
|
||||
N|n|No|no|"")
|
||||
select_msg "No"
|
||||
warn_msg "Installation aborted by user ... Exiting!"
|
||||
exit 1
|
||||
;;
|
||||
* )
|
||||
echo -e "\e[31mERROR: Please type Y or N !\e[0m"
|
||||
;;
|
||||
exit 1;;
|
||||
*)
|
||||
error_msg "Invalid Input!\n";;
|
||||
esac
|
||||
done
|
||||
return 0
|
||||
@@ -93,16 +89,13 @@ function install_crowsnest(){
|
||||
|
||||
# Step 2: Clone crowsnest repo
|
||||
status_msg "Cloning 'crowsnest' repository ..."
|
||||
if [[ ! -d "${HOME}/crowsnest" ]] &&
|
||||
[[ -z "$(ls -A "${HOME}/crowsnest")" ]]; then
|
||||
if [[ ! -d "${HOME}/crowsnest" && -z "$(ls -A "${HOME}/crowsnest" 2> /dev/null)" ]]; then
|
||||
clone_crowsnest
|
||||
else
|
||||
ok_msg "crowsnest repository already exists ..."
|
||||
fi
|
||||
|
||||
# Step 3: Install dependencies
|
||||
# status_msg "Install basic dependencies ..."
|
||||
# install_basic_deps
|
||||
dependency_check git make
|
||||
|
||||
# Step 4: Check for Multi Instance
|
||||
@@ -126,14 +119,15 @@ function install_crowsnest(){
|
||||
function remove_crowsnest(){
|
||||
pushd "${HOME}/crowsnest" &> /dev/null || exit 1
|
||||
title_msg "Uninstaller will prompt you for sudo password!"
|
||||
status_msg "Launching crowsnest Uninstaller ..."
|
||||
status_msg "Launching crowsnest uninstaller ..."
|
||||
if ! make uninstall; then
|
||||
error_msg "Something went wrong! Please try again..."
|
||||
exit 1
|
||||
fi
|
||||
if [[ -e "${CROWSNEST_DIR}" ]]; then
|
||||
status_msg "Removing Crowsnest directory ..."
|
||||
status_msg "Removing crowsnest directory ..."
|
||||
rm -rf "${CROWSNEST_DIR}"
|
||||
ok_msg "Directory removed!"
|
||||
fi
|
||||
}
|
||||
|
||||
@@ -159,7 +153,7 @@ get_crowsnest_status(){
|
||||
echo "Installed"
|
||||
elif [[ "${count}" -gt 0 ]]; then
|
||||
echo "Incomplete!"
|
||||
else
|
||||
else
|
||||
echo "Not installed!"
|
||||
fi
|
||||
}
|
||||
|
||||
@@ -29,10 +29,6 @@ function install_ui() {
|
||||
echo -e "| | |"
|
||||
echo -e "| Touchscreen GUI: | Webcam Streamer: |"
|
||||
echo -e "| 5) [KlipperScreen] | 10) [Crowsnest] |"
|
||||
# echo -e "| Touchscreen GUI: | |"
|
||||
# echo -e "| 5) [KlipperScreen] | |"
|
||||
# echo -e "| Touchscreen GUI: | Webcam Streamer: |"
|
||||
# echo -e "| 5) [KlipperScreen] | 10) [MJPG-Streamer] |"
|
||||
back_footer
|
||||
}
|
||||
|
||||
@@ -70,11 +66,6 @@ function install_menu() {
|
||||
do_action "moonraker_obico_setup_dialog" "install_ui";;
|
||||
10)
|
||||
do_action "install_crowsnest" "install_ui";;
|
||||
# 10)
|
||||
# do_action "install_mjpg-streamer" "install_ui";;
|
||||
# clear && print_header
|
||||
# print_error "Function currently disabled! Sorry!"
|
||||
# install_ui;;
|
||||
B|b)
|
||||
clear; main_menu; break;;
|
||||
*)
|
||||
|
||||
@@ -29,8 +29,8 @@ function main_ui() {
|
||||
echo -e "| | Fluidd: $(print_status "fluidd")|"
|
||||
echo -e "| | KlipperScreen: $(print_status "klipperscreen")|"
|
||||
echo -e "| 6) [Settings] | Telegram Bot: $(print_status "telegram_bot")|"
|
||||
echo -e "| | Obico: $(print_status "moonraker_obico")|"
|
||||
echo -e "| | Crowsnest: $(print_status "crowsnest")|"
|
||||
echo -e "| | Obico: $(print_status "moonraker_obico")|"
|
||||
echo -e "| | |"
|
||||
echo -e "| $(print_kiauh_version)| Octoprint: $(print_status "octoprint")|"
|
||||
quit_footer
|
||||
|
||||
@@ -21,10 +21,9 @@ function remove_ui() {
|
||||
echo -e "| 1) [Klipper] | 6) [OctoPrint] |"
|
||||
echo -e "| 2) [Moonraker] | |"
|
||||
echo -e "| | Webcam Streamer: |"
|
||||
echo -e "| Klipper Webinterface: | 7) [MJPG-Streamer] |"
|
||||
echo -e "| 3) [Mainsail] | 12) [Crowsnest] |"
|
||||
echo -e "| 4) [Fluidd] | |"
|
||||
echo -e "| | Other: |"
|
||||
echo -e "| Klipper Webinterface: | 7) [Crowsnest] |"
|
||||
echo -e "| 3) [Mainsail] | |"
|
||||
echo -e "| 4) [Fluidd] | Other: |"
|
||||
echo -e "| | 8) [PrettyGCode] |"
|
||||
echo -e "| Touchscreen GUI: | 9) [Telegram Bot] |"
|
||||
echo -e "| 5) [KlipperScreen] | 10) [Obico for Klipper] |"
|
||||
@@ -52,7 +51,7 @@ function remove_menu() {
|
||||
6)
|
||||
do_action "remove_octoprint" "remove_ui";;
|
||||
7)
|
||||
do_action "remove_mjpg-streamer" "remove_ui";;
|
||||
do_action "remove_crowsnest" "remove_ui";;
|
||||
8)
|
||||
do_action "remove_prettygcode" "remove_ui";;
|
||||
9)
|
||||
@@ -61,8 +60,6 @@ function remove_menu() {
|
||||
do_action "remove_moonraker_obico" "remove_ui";;
|
||||
11)
|
||||
do_action "remove_nginx" "remove_ui";;
|
||||
12)
|
||||
do_action "remove_crowsnest" "remove_ui";;
|
||||
B|b)
|
||||
clear; main_menu; break;;
|
||||
*)
|
||||
|
||||
Reference in New Issue
Block a user