script: whiptail backup menu

This commit is contained in:
Yifei Ding
2021-11-13 11:29:38 -08:00
parent a5ae3fb891
commit 17ca9e50a0

View File

@@ -1,53 +1,44 @@
backup_ui(){
top_border
echo -e "| $(title_msg "~~~~~~~~~~~~~~ [ Backup Menu ] ~~~~~~~~~~~~~~") | "
hr
echo -e "| ${yellow}Backup location: ~/kiauh-backups${default} | "
hr
echo -e "| Configuration folder: | Klipper Webinterface: | "
echo -e "| 0) [Klipper configs] | 4) [Mainsail] | "
echo -e "| | 5) [Fluidd] | "
echo -e "| Firmware: | | "
echo -e "| 1) [Klipper] | HDMI Screen: | "
echo -e "| | 6) [KlipperScreen] | "
echo -e "| Klipper API: | | "
echo -e "| 2) [Moonraker] | Other: | "
echo -e "| 3) [Moonraker DB] | 7) [Duet Web Control] | "
echo -e "| | 8) [OctoPrint] | "
echo -e "| | 9) [MoonrakerTelegramBot] | "
back_footer
}
#!/bin/bash
backup_menu(){
do_action "" "backup_ui"
local menu_options=(
"1" "Klipper configs"
"2" "Klipper"
"3" "Moonraker"
"4" "Moonraker DB"
"5" "Mainsail"
"6" "KlipperScreen"
"7" "Duet Web Control"
"8" "OctoPrint"
"9" "MoonrakerTelegramBot"
)
local menu_str="Backup location: ~/kiauh-backups"
while true; do
read -p "${cyan}Perform action:${default} " action; echo
case "$action" in
0)
do_action "backup_klipper_config_dir" "backup_ui";;
1)
do_action "backup_klipper" "backup_ui";;
2)
do_action "backup_moonraker" "backup_ui";;
3)
do_action "backup_moonraker_database" "backup_ui";;
4)
do_action "backup_mainsail" "backup_ui";;
5)
do_action "backup_fluidd" "backup_ui";;
6)
do_action "backup_klipperscreen" "backup_ui";;
7)
do_action "backup_dwc2" "backup_ui";;
8)
do_action "backup_octoprint" "backup_ui";;
9)
do_action "backup_MoonrakerTelegramBot" "backup_ui";;
B|b)
clear; main_menu; break;;
*)
deny_action "backup_ui";;
esac
done
backup_menu
local menu
menu=$(whiptail --title "Backup Menu" --cancel-button "Back" --notags --menu "$menu_str\n\nPerform Action:"\
"$KIAUH_WHIPTAIL_NORMAL_HEIGHT" "$KIAUH_WHIPTAIL_NORMAL_WIDTH" 8 "${menu_options[@]}" 3>&1 1>&2 2>&3)
local out=$?
if [ $out -eq 1 ]; then
break
elif [ $out -eq 0 ]; then
case "$menu" in
0) do_action "backup_klipper_config_dir";;
1) do_action "backup_klipper";;
2) do_action "backup_moonraker";;
3) do_action "backup_moonraker_database";;
4) do_action "backup_mainsail";;
5) do_action "backup_fluidd";;
6) do_action "backup_klipperscreen";;
7) do_action "backup_dwc2";;
8) do_action "backup_octoprint";;
9) do_action "backup_MoonrakerTelegramBot";;
esac
else
# Unexpected event, no clue what happened
exit 1
fi
done
}