You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Botspot-Pi-Apps/apps/Email Checker/install

67 lines
2.5 KiB
Bash

#!/bin/bash
DIRECTORY="$(dirname "$(dirname "$( cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )")")"
function error {
echo -e "\\e[91m$1\\e[39m"
exit 1
}
#use the error function often!
#If a certain command is necessary for installation to continue, then add this to the end of it:
# || error 'reason'
#example below:
# Get dependencies
"${DIRECTORY}/pkg-install" "zenity python3-pip yad" "$(dirname "$0")" || exit 1
sudo pip3 install imapclient || error "Failed to install imapclient!"
output="$(yad --form --center --width=400 --separator='\n' \
--title="Email Checker Settings" --window-icon="$(dirname "$0")/icon-64.png" \
--field='IMAP Server:' 'Outlook: outlook.office365.com Gmail: imap.gmail.com' \
--field='Email:' 'user@example.com' \
--field='Password::H' '' \
--field='Folder:' 'Inbox' \
--field='Check interval::NUM' '60!10..240!10' \
--button=OK!${DIRECTORY}/icons/check.png:0)"
button=$?
[ $button -ne 0 ]&&error "User exited."
echo "Output: ${output}EOO"
if [ -d ~/raspi-email-checker ];then
gio trash ~/raspi-email-checker
echo -e "\\e[33mWARNING: Moved the raspi-email-checker folder to trash instead of deleting.
The checkmail.py script inside may contain a password!\\e[39m"
fi
git clone https://github.com/Botspot/raspi-email-checker || error 'Failed to clone repository!'
#hostname
sed -i "s/hostname2replace/$(echo "$output" | sed "1q;d")/g" ~/raspi-email-checker/checkmail.py
#email
sed -i "s/email2replace/$(echo "$output" | sed "2q;d")/g" ~/raspi-email-checker/checkmail.py
#password
sed -i "s/password2replace/$(echo "$output" | sed "3q;d")/g" ~/raspi-email-checker/checkmail.py
#mailbox
sed -i "s/mailbox2replace/$(echo "$output" | sed "4q;d")/g" ~/raspi-email-checker/checkmail.py
#checkinterval
sed -i "s/checkinterval2replace/$(echo "$output" | sed "5q;d")/g" ~/raspi-email-checker/checkmail.py
#run on boot
mkdir -p ~/.config/autostart
echo "[Desktop Entry]
Name=Email Checker
Comment=Displays a pop-up window if your $(echo "$output" | sed "4q;d") folder contains any unread emails.
Exec=sudo python ${HOME}/raspi-email-checker/checkmail.py
X-GNOME-Autostart-enabled=true
Hidden=false
Icon=$(dirname "$0")/icon-64.png
NoDisplay=false" > ~/.config/autostart/checkmail.desktop
"${DIRECTORY}/etc/terminal-run" "echo -e 'If checkmail.py throws errors, you may have entered invalid information.\nUse this opportunity to test it out.\nFrom now on, checkmail.py will be run on every boot.' ; sudo python ${HOME}/raspi-email-checker/checkmail.py ; sleep infinity" 'Running Email Checker (checkmail.py)' &