Merge pull request #25 from th33xitus/work-logupload

Add: log upload function
This commit is contained in:
th33xitus
2020-10-10 16:42:19 +02:00
committed by GitHub
8 changed files with 114 additions and 36 deletions

View File

@@ -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).\

View File

@@ -3,5 +3,4 @@ backup_before_update=false
previous_origin_state=0
previous_smoothing_state=0
previous_shaping_state=0
previous_moonraker_state=0
previous_dev_moonraker_state=0
logupload_accepted=false

View File

@@ -2,14 +2,18 @@
clear
set -e
### set some variables
ERROR_MSG=""
### set color variables
green=$(echo -en "\e[92m")
yellow=$(echo -en "\e[93m")
red=$(echo -en "\e[91m")
cyan=$(echo -en "\e[96m")
default=$(echo -en "\e[97m")
### sourcing all additional scripts
SRCDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )"/.. && pwd )"
for script in "${SRCDIR}/kiauh/scripts/"*.sh; do . $script; done
for script in "${SRCDIR}/kiauh/scripts/ui/"*.sh; do . $script; done
### set important directories
#klipper
KLIPPER_DIR=${HOME}/klipper
@@ -39,7 +43,7 @@ OCTOPRINT_CFG_DIR=${HOME}/.octoprint
OCTOPRINT_SERVICE1=/etc/init.d/octoprint
OCTOPRINT_SERVICE2=/etc/default/octoprint
#misc
INI_FILE=${HOME}/kiauh/kiauh.ini
INI_FILE=${SRCDIR}/kiauh/kiauh.ini
BACKUP_DIR=${HOME}/kiauh-backups
### set github repos
@@ -49,7 +53,6 @@ DMBUTYUGIN_REPO=https://github.com/dmbutyugin/klipper.git
DWC2FK_REPO=https://github.com/Stephan3/dwc2-for-klipper-socket.git
MOONRAKER_REPO=https://github.com/Arksine/moonraker.git
#branches
BRANCH_MOONRAKER=Arksine/dev-moonraker-testing
BRANCH_SCURVE_SMOOTHING=dmbutyugin/scurve-smoothing
BRANCH_SCURVE_SHAPING=dmbutyugin/scurve-shaping
@@ -95,11 +98,6 @@ clear_msg(){
unset ERROR_MSG
}
### sourcing all additional scripts
SRCDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )"/.. && pwd )"
for script in "${SRCDIR}/kiauh/scripts/"*.sh; do . $script; done
for script in "${SRCDIR}/kiauh/scripts/ui/"*.sh; do . $script; done
check_euid
kiauh_status
main_menu

View File

@@ -28,7 +28,7 @@ locate_printer_cfg(){
}
source_ini(){
source ${HOME}/kiauh/kiauh.ini
source ${SRCDIR}/kiauh/kiauh.ini
}
start_klipper(){

View File

@@ -25,7 +25,7 @@ set_nginx_cfg(){
if [ "$SET_LISTEN_PORT" != "" ]; then
ok_msg "$1 listening on port $SET_LISTEN_PORT!"
else
ok_msg "$1 listening on def-port $DEFAULT_PORT!"
ok_msg "$1 listening on default port $DEFAULT_PORT!"
fi
#remove nginx default config
[ -e /etc/nginx/sites-enabled/default ] && sudo rm /etc/nginx/sites-enabled/default

View File

@@ -20,13 +20,4 @@ switch_to_scurve_smoothing(){
git remote add dmbutyugin $DMBUTYUGIN_REPO
fi
git fetch dmbutyugin -q && git checkout $BRANCH_SCURVE_SMOOTHING -q
}
switch_to_moonraker(){
cd $KLIPPER_DIR
status_msg "Switching...Please wait ..."; echo
if ! git remote | grep Arksine -q; then
git remote add Arksine $ARKSINE_REPO
fi
git fetch Arksine -q && git checkout $BRANCH_MOONRAKER -q
}

View File

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

89
scripts/upload_log.sh Executable file
View File

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