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 # # https://github.com/KwadFan/crowsnest #
#=======================================================================# #=======================================================================#
# shellcheck enable=require-variable-braces
# shellcheck disable=SC2154
# Error Handling # Error Handling
set -e set -e
# Helper messages # Helper messages
function multi_instance_message(){ function multi_instance_message(){
echo -e "Crowsnest is NOT designed to support Multi Instances." 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 "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 "Use this instance to set up your 'crowsnest.conf' and steering it's service.\n"
echo -e "Found the following instances:\n" echo -e "Found the following instances:\n"
for i in ${1}; do for i in ${1}; do
select_msg "${i}" select_msg "${i}"
@@ -44,7 +41,7 @@ function check_multi_instance(){
local -a instances local -a instances
readarray -t instances < <(find "${HOME}" -regex "${HOME}/[a-zA-Z0-9_]+_data/*" -printf "%P\n" 2> /dev/null | sort) readarray -t instances < <(find "${HOME}" -regex "${HOME}/[a-zA-Z0-9_]+_data/*" -printf "%P\n" 2> /dev/null | sort)
if [[ "${#instances[@]}" -gt 1 ]]; then if [[ "${#instances[@]}" -gt 1 ]]; then
status_msg "Multi Instance Install detected ..." status_msg "Multi instance install detected ..."
multi_instance_message "${instances[*]}" multi_instance_message "${instances[*]}"
if [[ -d "${HOME}/crowsnest" ]]; then if [[ -d "${HOME}/crowsnest" ]]; then
pushd "${HOME}/crowsnest" &> /dev/null || exit 1 pushd "${HOME}/crowsnest" &> /dev/null || exit 1
@@ -68,18 +65,17 @@ function check_multi_instance(){
function continue_config() { function continue_config() {
local reply local reply
while true; do 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 case "${reply}" in
[Yy]* ) Y|y|Yes|yes)
break select_msg "Yes"
;; break;;
[Nn]* ) N|n|No|no|"")
select_msg "No"
warn_msg "Installation aborted by user ... Exiting!" warn_msg "Installation aborted by user ... Exiting!"
exit 1 exit 1;;
;; *)
* ) error_msg "Invalid Input!\n";;
echo -e "\e[31mERROR: Please type Y or N !\e[0m"
;;
esac esac
done done
return 0 return 0
@@ -93,16 +89,13 @@ function install_crowsnest(){
# Step 2: Clone crowsnest repo # Step 2: Clone crowsnest repo
status_msg "Cloning 'crowsnest' repository ..." status_msg "Cloning 'crowsnest' repository ..."
if [[ ! -d "${HOME}/crowsnest" ]] && if [[ ! -d "${HOME}/crowsnest" && -z "$(ls -A "${HOME}/crowsnest" 2> /dev/null)" ]]; then
[[ -z "$(ls -A "${HOME}/crowsnest")" ]]; then
clone_crowsnest clone_crowsnest
else else
ok_msg "crowsnest repository already exists ..." ok_msg "crowsnest repository already exists ..."
fi fi
# Step 3: Install dependencies # Step 3: Install dependencies
# status_msg "Install basic dependencies ..."
# install_basic_deps
dependency_check git make dependency_check git make
# Step 4: Check for Multi Instance # Step 4: Check for Multi Instance
@@ -126,14 +119,15 @@ function install_crowsnest(){
function remove_crowsnest(){ function remove_crowsnest(){
pushd "${HOME}/crowsnest" &> /dev/null || exit 1 pushd "${HOME}/crowsnest" &> /dev/null || exit 1
title_msg "Uninstaller will prompt you for sudo password!" title_msg "Uninstaller will prompt you for sudo password!"
status_msg "Launching crowsnest Uninstaller ..." status_msg "Launching crowsnest uninstaller ..."
if ! make uninstall; then if ! make uninstall; then
error_msg "Something went wrong! Please try again..." error_msg "Something went wrong! Please try again..."
exit 1 exit 1
fi fi
if [[ -e "${CROWSNEST_DIR}" ]]; then if [[ -e "${CROWSNEST_DIR}" ]]; then
status_msg "Removing Crowsnest directory ..." status_msg "Removing crowsnest directory ..."
rm -rf "${CROWSNEST_DIR}" rm -rf "${CROWSNEST_DIR}"
ok_msg "Directory removed!"
fi fi
} }

View File

@@ -29,10 +29,6 @@ function install_ui() {
echo -e "| | |" echo -e "| | |"
echo -e "| Touchscreen GUI: | Webcam Streamer: |" echo -e "| Touchscreen GUI: | Webcam Streamer: |"
echo -e "| 5) [KlipperScreen] | 10) [Crowsnest] |" 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 back_footer
} }
@@ -70,11 +66,6 @@ function install_menu() {
do_action "moonraker_obico_setup_dialog" "install_ui";; do_action "moonraker_obico_setup_dialog" "install_ui";;
10) 10)
do_action "install_crowsnest" "install_ui";; 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) B|b)
clear; main_menu; break;; clear; main_menu; break;;
*) *)

View File

@@ -29,8 +29,8 @@ function main_ui() {
echo -e "| | Fluidd: $(print_status "fluidd")|" echo -e "| | Fluidd: $(print_status "fluidd")|"
echo -e "| | KlipperScreen: $(print_status "klipperscreen")|" echo -e "| | KlipperScreen: $(print_status "klipperscreen")|"
echo -e "| 6) [Settings] | Telegram Bot: $(print_status "telegram_bot")|" 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 "| | Crowsnest: $(print_status "crowsnest")|"
echo -e "| | Obico: $(print_status "moonraker_obico")|"
echo -e "| | |" echo -e "| | |"
echo -e "| $(print_kiauh_version)| Octoprint: $(print_status "octoprint")|" echo -e "| $(print_kiauh_version)| Octoprint: $(print_status "octoprint")|"
quit_footer quit_footer

View File

@@ -21,10 +21,9 @@ function remove_ui() {
echo -e "| 1) [Klipper] | 6) [OctoPrint] |" echo -e "| 1) [Klipper] | 6) [OctoPrint] |"
echo -e "| 2) [Moonraker] | |" echo -e "| 2) [Moonraker] | |"
echo -e "| | Webcam Streamer: |" echo -e "| | Webcam Streamer: |"
echo -e "| Klipper Webinterface: | 7) [MJPG-Streamer] |" echo -e "| Klipper Webinterface: | 7) [Crowsnest] |"
echo -e "| 3) [Mainsail] | 12) [Crowsnest] |" echo -e "| 3) [Mainsail] | |"
echo -e "| 4) [Fluidd] | |" echo -e "| 4) [Fluidd] | Other: |"
echo -e "| | Other: |"
echo -e "| | 8) [PrettyGCode] |" echo -e "| | 8) [PrettyGCode] |"
echo -e "| Touchscreen GUI: | 9) [Telegram Bot] |" echo -e "| Touchscreen GUI: | 9) [Telegram Bot] |"
echo -e "| 5) [KlipperScreen] | 10) [Obico for Klipper] |" echo -e "| 5) [KlipperScreen] | 10) [Obico for Klipper] |"
@@ -52,7 +51,7 @@ function remove_menu() {
6) 6)
do_action "remove_octoprint" "remove_ui";; do_action "remove_octoprint" "remove_ui";;
7) 7)
do_action "remove_mjpg-streamer" "remove_ui";; do_action "remove_crowsnest" "remove_ui";;
8) 8)
do_action "remove_prettygcode" "remove_ui";; do_action "remove_prettygcode" "remove_ui";;
9) 9)
@@ -61,8 +60,6 @@ function remove_menu() {
do_action "remove_moonraker_obico" "remove_ui";; do_action "remove_moonraker_obico" "remove_ui";;
11) 11)
do_action "remove_nginx" "remove_ui";; do_action "remove_nginx" "remove_ui";;
12)
do_action "remove_crowsnest" "remove_ui";;
B|b) B|b)
clear; main_menu; break;; clear; main_menu; break;;
*) *)