From 29e3d8b3d278c164810f16834dc7f376c67bb2d3 Mon Sep 17 00:00:00 2001 From: th33xitus Date: Sat, 10 Oct 2020 16:41:00 +0200 Subject: [PATCH] add: log update function --- docs/changelog.md | 6 +++ scripts/ui/main_menu.sh | 23 +++++------ scripts/upload_log.sh | 89 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 104 insertions(+), 14 deletions(-) create mode 100755 scripts/upload_log.sh diff --git a/docs/changelog.md b/docs/changelog.md index 605ac8a..bad301c 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -2,6 +2,12 @@ This document covers possible important changes to KIAUH. +### 2020-10-10: + +Support for changing the Klipper branch to the moonraker-dev branch from @Arksine has been dropped. Support for Moonraker has been merged into Klipper mainline a long time ago. + +A new function is available from the main menu. You can now upload your log files to http://paste.c-net.org/ to share them for debugging purposes. + ### 2020-10-06: Fluidd, a new Klipper interface got added to the list of available installers. At the same time some installation routines have changed or have seen some rework. Changes were made to the installation of NGINX configurations. A method was introduced to change the listen port of a webinterface configuration if there is already another webinterface listening on the default port (80).\ diff --git a/scripts/ui/main_menu.sh b/scripts/ui/main_menu.sh index c3280ec..9a43714 100755 --- a/scripts/ui/main_menu.sh +++ b/scripts/ui/main_menu.sh @@ -2,17 +2,15 @@ main_ui(){ top_border echo -e "| $(title_msg "~~~~~~~~~~~~~~~ [ Main Menu ] ~~~~~~~~~~~~~~~") |" hr - echo -e "| | |" - echo -e "| 1) [Install] | Klipper: $KLIPPER_STATUS|" - echo -e "| 2) [Update] | Branch: ${cyan}$PRINT_BRANCH${default}|" + echo -e "| 0) [Upload Log] | Klipper: $KLIPPER_STATUS|" + echo -e "| | Branch: ${cyan}$PRINT_BRANCH${default}|" + echo -e "| 1) [Install] | |" + echo -e "| 2) [Update] | Moonraker: $MOONRAKER_STATUS|" echo -e "| 3) [Remove] | |" - echo -e "| | Moonraker: $MOONRAKER_STATUS|" - echo -e "| 4) [Advanced] | |" - echo -e "| 5) [Backup] | DWC2: $DWC2_STATUS|" - echo -e "| | Fluidd: $FLUIDD_STATUS|" - echo -e "| | Mainsail: $MAINSAIL_STATUS|" + echo -e "| | DWC2: $DWC2_STATUS|" + echo -e "| 4) [Advanced] | Fluidd: $FLUIDD_STATUS|" + echo -e "| 5) [Backup] | Mainsail: $MAINSAIL_STATUS|" echo -e "| | Octoprint: $OCTOPRINT_STATUS|" - echo -e "| | |" quit_footer } @@ -33,11 +31,8 @@ main_menu(){ print_msg && clear_msg main_ui while true; do - echo -e "${cyan}" - read -p "Perform action: " action; echo - echo -e "${default}" + read -p "${cyan}Perform action:${default} " action; echo case "$action" in - 8) read_listen_port;; update) clear print_header @@ -47,7 +42,7 @@ main_menu(){ 0) clear print_header - ERROR_MSG="Sorry this function is not implemented yet!" + upload_selection print_msg && clear_msg main_ui;; 1) diff --git a/scripts/upload_log.sh b/scripts/upload_log.sh new file mode 100755 index 0000000..aa8bf34 --- /dev/null +++ b/scripts/upload_log.sh @@ -0,0 +1,89 @@ +accept_upload_conditions(){ + while true; do + top_border + echo -e "| ${red}~~~~~~~~~~~ [ Upload Agreement ] ~~~~~~~~~~~~${default} |" + hr + echo -e "| The following function will help to quickly upload |" + echo -e "| logs for debugging purposes. With confirming this |" + echo -e "| dialog, you agree that during that process your logs |" + echo -e "| will be uploaded to: ${yellow}http://paste.c-net.org/${default} |" + hr + echo -e "| ${red}PLEASE NOTE:${default} |" + echo -e "| Be aware that logs can contain network information, |" + echo -e "| private data like usernames, filenames, or other |" + echo -e "| information you may not want to make public. |" + blank_line + echo -e "| Do ${red}NOT${default} use this function if you don't agree! |" + bottom_border + read -p "${cyan}Do you accept? (Y/n):${default} " yn + case "$yn" in + Y|y|Yes|yes|"") + sed -i "/logupload_accepted=/s/false/true/" $INI_FILE + clear && print_header && upload_selection + ;; + N|n|No|no) + clear + main_menu + break + ;; + *) + clear + print_header + print_unkown_cmd + print_msg && clear_msg + accept_upload_conditions;; + esac + done +} + +upload_selection(){ + source_ini + [ "$logupload_accepted" = "false" ] && accept_upload_conditions + KLIPPY_LOG=/tmp/klippy.log + MOONRAKER_LOG=/tmp/moonraker.log + DWC2_LOG=/tmp/dwc2.log + top_border + echo -e "| ${yellow}~~~~~~~~~~~~~~~ [ Log Upload ] ~~~~~~~~~~~~~~${default} |" + hr + echo -e "| You can choose the following files for uploading: |" + echo -e "| 1) klippy.log |" + echo -e "| 2) moonraker.log |" + echo -e "| 3) dwc2.log |" + quit_footer + while true; do + read -p "${cyan}Please select:${default} " choice + case "$choice" in + 1) + clear && print_header + upload_log "$KLIPPY_LOG" + upload_selection + ;; + 2) + clear && print_header + upload_log "$MOONRAKER_LOG" + upload_selection + ;; + 3) + clear && print_header + upload_log "$DWC2_LOG" + upload_selection + ;; + q | Q) clear; main_menu; break;; + esac + done +} + +upload_log(){ + if [ -f "$1" ]; then + status_msg "Uploading $1 ..." + LINK=$(curl -s --upload-file $1 'http://paste.c-net.org/') + [ ! -z "$LINK" ] && ok_msg "$1 upload successfull!" + echo -e "\n${cyan}###### Here is your link:${default}" + echo -e ">>>>>> $LINK\n" + unset LINK + else + clear && print_header + ERROR_MSG="$1 not found!" && print_msg && clear_msg + upload_selection + fi +} \ No newline at end of file