scrape() {
local DIR_SUBSCRIBER=$1
local VENDOR_NAME=$2
local PRODUCT_NAME=$3
local PRODUCT_PAGE=$4
local POSTAL_CODE=$5
local URL="https://www.thriftyfoods.com/product/$PRODUCT_PAGE"
local PATH_BODY="$DIR_SUBSCRIBER/$FILE_MESSAGE_BODY"
local PATH_SUBJECT="$DIR_SUBSCRIBER/$FILE_MESSAGE_SUBJECT"
local PATH_PRODUCT="$DIR_SUBSCRIBER/$(hashed $PRODUCT_NAME).csv"
PRICE_CURRENT=$(lynx -nolist -nolog -accept_all_cookies -dump "$URL" | \
grep -A1 "Comparison price:" | \
tail -1 | \
awk '{print $1}' | \
tr -d '$')
PRICE_PREVIOUS=0
if [ -s "$PATH_PRODUCT" ]; then
PRICE_PREVIOUS=$(tail -1 $PATH_PRODUCT | awk -F "," '{print $3}')
fi
PRICE_CHANGED=$(echo "$PRICE_PREVIOUS != $PRICE_CURRENT" | bc)
if [ "$PRICE_CHANGED" -eq "1" ]; then
local DATE_CURRENT=$(date +%0F)
local TIME_CURRENT=$(date +%0R)
echo "$DATE_CURRENT,$TIME_CURRENT,$PRICE_CURRENT" >> $PATH_PRODUCT
TIMESTAMP_CURRENT="$(date +"$DATE_FORMAT") $TIME_CURRENT"
echo "[$VENDOR_NAME] $PRODUCT_NAME now \$$PRICE_CURRENT" > $PATH_SUBJECT
cat >> "$PATH_BODY" << EOL
$PRODUCT_NAME
-------------------------
Price is \$$PRICE_CURRENT (was \$$PRICE_PREVIOUS) as of $TIMESTAMP_CURRENT.
EOL
fi
}