From 14dcb406c69c567a24c621a64cd3599470307c3f Mon Sep 17 00:00:00 2001 From: Ratatoskr Date: Tue, 30 Jan 2024 22:38:26 +0100 Subject: [PATCH] Enhance generate_text.sh script Addition of Markdown File: - Introduce a Markdown file 'handout.md' to store information in a structured format. - Markdown file is created with headers, columns, and content for German and Spanish text. Refactoring and Cleanup: - Declare 'markdown_file' variable to store the path of the Markdown file. - Introduce 'all' array to store components like 'date' and 'time'. - Clear files in 'text_dir' at the beginning to ensure a clean start. File Transfer and Notification: - Use 'scp' to transfer files to A72, maintaining the directory structure. - Enhance the curl command to include the Markdown file as an attachment. - Set the 'Filename' header for better identification on the server. - Display the constructed curl command for visibility. - Execute the curl command to send a high-priority notification with the Markdown file. Logging and Output: - Display the content of the generated Markdown file. - Initiate 'generate_mp3.sh' on A72 in the background. Note: Adjusted the output formatting for better readability in the commit message. --- generate_text.sh | 59 ++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 47 insertions(+), 12 deletions(-) diff --git a/generate_text.sh b/generate_text.sh index 2008101..51586ba 100755 --- a/generate_text.sh +++ b/generate_text.sh @@ -9,6 +9,12 @@ ####################################### text_dir="/root/iobroker_scripts/general/.text" +markdown_file="$text_dir/handout.md" + +all=("date" "time") # Add more elements as needed + +# remove files in text_dir +rm -f $text_dir/* # Function to get the IP address of Lisa's iPhone check_ip() { @@ -42,29 +48,58 @@ check_ip generate_text() { # German date_de=$(date '+Heute ist %A, der %d. %B %Y.') - echo $date_de > $text_dir/date_de.txt + echo "$date_de" > "$text_dir/date_de.txt" time_de=$(date '+Es ist %H:%M Uhr.') - echo $time_de > $text_dir/time_de.txt + echo "$time_de" > "$text_dir/time_de.txt" # Spanish date_es=$(trans -b :de :es "$date_de") - echo $date_es > $text_dir/date_es.txt + echo "$date_es" > "$text_dir/date_es.txt" time_es=$(trans -b :de :es "$time_de") - echo $time_es > $text_dir/time_es.txt + echo "$time_es" > "$text_dir/time_es.txt" } # Call the generate_text function generate_text +# Create Markdown file +echo "## Handout:" > $markdown_file +echo "| Deutsch | EspaƱol |" >> $markdown_file +echo "| ------- | ------- |" >> $markdown_file + +for component in "${all[@]}"; do + german_output=$(cat $text_dir/${component}_de.txt) + spanish_output=$(cat $text_dir/${component}_es.txt) + echo "| $german_output | $spanish_output |" >> $markdown_file +done + # Transfer files to A72 -scp -r -i /root/.ssh/A72 $text_dir root@$A72_ip:/data/scripts/ +scp -r -i /root/.ssh/A72 "$text_dir" root@$A72_ip:/data/scripts/ + +# Send Notification to A72 with handout.md file +curl_command="curl -u 'Michaelis:u5ptufUFuDL6q4yEcSN3iqas5gtXNkN77Lx3cy3oX8UoSgFWdifYy9FVopv2Zwtu' \ + -H 'Priority:High' \ + -T $markdown_file \ + -H 'Filename: handout.md' \ + -d $'notification_date: Heute ist Dienstag, der 30. Januar 2024.\n" + +for component in "${all[@]}"; do + curl_command+="${component}:\n" + curl_command+="$(cat $text_dir/${component}_de.txt)\n" + curl_command+="$(cat $text_dir/${component}_es.txt)\n" +done + +curl_command="${curl_command%\\n}" # Remove the trailing newline +curl_command+="\n'" + +curl_command+=" https://ntfy.michaelis.digital/ioBroker" + +echo "curl_command: $curl_command" +eval "$curl_command" # Execute the constructed curl command + +# Display Markdown file content +cat $markdown_file # Start generate_mp3.sh on A72 -ssh -i /root/.ssh/A72 -f root@$A72_ip '/data/scripts/generate_mp3.sh' > /root/generate_mp3.log & +nohup ssh -i /root/.ssh/A72 -f root@$A72_ip '/data/scripts/generate_mp3.sh' > /root/generate_mp3.log & -# Output the generated texts -echo "German Output:" -echo "$date_de $time_de" - -echo "Spanish Output:" -echo "$date_es $time_es"