Created
August 6, 2020 20:47
-
-
Save SkaTeMasTer/8ef2ff8f91c96b485dcfe3862f01042e to your computer and use it in GitHub Desktop.
sasaas
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/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 ([email protected])" | |
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