Merge pull request #2 from th33xitus/cn-installer-changes

refactor: make some changes to the feature installer
This commit is contained in:
Stephan Wendel
2023-02-03 21:06:51 +01:00
committed by GitHub
4 changed files with 23 additions and 41 deletions

View File

@@ -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
}

View File

@@ -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;;
*)

View File

@@ -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

View File

@@ -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;;
*)