Skip to content

Instantly share code, notes, and snippets.

@SkaTeMasTer
Created August 6, 2020 20:47
Show Gist options
  • Save SkaTeMasTer/8ef2ff8f91c96b485dcfe3862f01042e to your computer and use it in GitHub Desktop.
Save SkaTeMasTer/8ef2ff8f91c96b485dcfe3862f01042e to your computer and use it in GitHub Desktop.
sasaas
#!/bin/bash
LOCALWEBDIR="/var/www/html/imagesWSJ"
LOCALPDFDIR="/var/www/html/WallStreetJournal"
IPWEBSERVER="ip23df2-30.eu"
DROPBOXDIR="/_TempWSJ/"
FILETORRENTS="/home/user/Downloads/WSJ"
TMPDIR="/home/user/Downloads/WSJ-temp"
HOMEDIR="$HOME/WSJtoDropbox"
EMAILTO=""
NOW=$(date +"%A, %B %-d")
#----------------[ only deliver once a day]----
#FILE=/etc/resolv.conf
#if test -f "$FILE"; then
# echo "$FILE exists."
#fi
# ______________________________
echo ""
echo "[ Torrent Bot v1.1 ] -/- new local File torrent via RSS => upload to Dropbox => email sharelink"
# ______________________________
echo ""
echo "(+) Looking for latest file from ${FILETORRENTS}..."
# get lastest file from download dir + remove carriage returng
SEARCHRESULT=$(ls -t "${FILETORRENTS}" | head -n 1 | sed -e 's/\r//g')
# ______________________________
# Checks if file has size greater than 0
if [ -s "${FILETORRENTS}/${SEARCHRESULT}" ]; then
echo "Download verified."
else
echo "Filesize is 0!!!!! download is in process..."
exit
fi
# ______________________________
#-------[PDF VERIFY]------
PDFTITLE=$(pdfinfo "${FILETORRENTS}/${SEARCHRESULT}" 2>/dev/null | grep Title: | sed 's/Title:[ ]*//')
#-----------------
echo "META-TITLE == $PDFTITLE"
# if fileexists marker, exit
if [ -f "${TMPDIR}/${SEARCHRESULT}".uploaded ]; then
echo "File (${FILETORRENTS}/${SEARCHRESULT}) has already been uploaded!"
exit
fi
#-------------{{
# wait for found file to finish download
echo "(*) Found a new file uploaded!!! ..."
# ______________________________
# standarize the filename found
# copy file to webserver for extra possible access beside dropbox
NEWFILENAME=$(date +"%B-%-d-%Y-%a.pdf")
STANDARIZED="${FILETORRENTS}/${NEWFILENAME}"
COPYFILE=$(cp "${FILETORRENTS}/${SEARCHRESULT}" "${LOCALPDFDIR}/${NEWFILENAME}")
# ______________________________
echo "Cache Touching file to prevent duplicate files already uploaded..."
touch "${TMPDIR}/${SEARCHRESULT}".uploaded
# ______________________________
echo "SLEEPING to prevent race condition..."
sleep 900
# ______________________________
WWWTHUMBNAIL="http://${IPWEBSERVER}/imagesWSJ/${NEWFILENAME}.jpg"
JPEGTHUMBNAIL="${LOCALWEBDIR}/${NEWFILENAME}.jpg"
# create a image thumbnail from PDF
# using 'pdftoppm' util
# save write image to local webserver directory
PDF2IMG=$(pdftoppm -singlefile -f 1 -r 72 -jpeg "${FILETORRENTS}/${SEARCHRESULT}" > "${JPEGTHUMBNAIL}")
# ______________________________
echo "Dropbox Uploading..."
$HOMEDIR/dropbox_uploader.sh -f $HOMEDIR/.dropbox_uploader upload "${LOCALPDFDIR}/${NEWFILENAME}" "${DROPBOXDIR}"
sleep 10
# ______________________________
echo "Dropbox share: getting link..."
# retrive a link to open the file on dropbox (ends in ...?dl=0)
SHARELINK=$($HOMEDIR/dropbox_uploader.sh -q -f $HOMEDIR/.dropbox_uploader share "${DROPBOXDIR}${NEWFILENAME}")
# convert open link (?dl=0) to a download link (dl=1)
DOWNLOADLINK=${SHARELINK/dl=0/dl=1}
# ---
# ______________________________
echo "Sending Email..."
ARG_EMAIL_FROM="WSJ Bot (shdsagent@gmail.com)"
ARG_EMAIL_SUBJECT="\"The Wall Street Journal\" for ${NOW} 🗞️ "
# ______________________________
send_email () {
(
echo "To: $1"
echo "From: ${ARG_EMAIL_FROM}"
echo "Subject: ${ARG_EMAIL_SUBJECT}"
echo "Mime-Version: 1.0"
echo "Content-Type: text/html; charset='utf-8'"
echo
cat header.html
# ______________________________
echo "<b><center><h1> <a href='${SHARELINK}' target='_blank'>Read Today's Paper</a> </b> </h1></center>"
# ______________________________
# direct download link
echo "<br /><center><h1> <a href='${DOWNLOADLINK}' target='_blank'>Download the Document</a> </center></h1><br /><br />"
# ______________________________
# normalize URL by removing spaces
#WWWTHUMBNAIL=`echo "$WWWTHUMBNAIL"|sed 's/ /%20/g'`
# echo "<a href='${WWWTHUMBNAIL}' target='_blank'>"
echo "<img src='${WWWTHUMBNAIL}' width='90%' height='90%' alt='frontpage' title='thumbnail' style='display:block;border: solid 4px #111;' />"
#echo " </a>"
echo "<br />Meta Title:"
echo "${PDFTITLE}"
cat footer.html
) | /usr/sbin/ssmtp $1
}
# ______________________________
for i in $(echo $EMAILTO | sed "s/,/ /g")
do
echo "Emailing $i ..."
send_email $i
done
# ______________________________
# EOF
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment