shell-site-generator/sitegenerator.sh
2022-02-01 01:06:55 -05:00

83 lines
2.2 KiB
Bash
Executable File

#!/bin/sh
# Written by Sean Smith
# Date: 03/25/2021
# This program takes one search term and uses the MovieDB API to return
# relevant information on the top 10 results. The program parses the data and compiles it into
# an HTML document named index.html
# This will run on any system with the GNU core utils (almost every unix system)
# If you are having trouble running it then run "chmod +x midterm.sh" to give the file
# execute permission
#take one arg as the search term
SEARCH=$1
if [ $# -eq 0 ]
then
echo "This program requires an argument!"
echo "Please enter a search term with no spaces or special characters."
echo "EXAMPLE: ./midterm.sh titanic"
exit 1
fi
#query the api
wget "https://api.themoviedb.org/3/search/movie?api_key=1f2944e277cd20849744f1b752deb3f4&language=en-US&page=1&include_adult=false&query="$SEARCH
#rename the JSON file
mv "movie?api_key=1f2944e277cd20849744f1b752deb3f4&language=en-US&page=1&include_adult=false&query="$SEARCH result.json
#format the JSON file and break it into seperate files for each search result
sed -i 's/,"/,\n"/g' result.json
sed -i 's/},{/}\n\nSPLITSYMBOL\n\n{/g' result.json
csplit result.json --suppress-matched '/SPLITSYMBOL/' {*}
CURRENT=0
while [ $CURRENT -le 9 ]
do
#replace JSON with html tags
sed -i 's/"original_title":"/<h1>/g' xx0$CURRENT
sed -i 's/"poster_path":"/<img src="https:\/\/www.themoviedb.org\/t\/p\/w600_and_h900_bestv2/g' xx0$CURRENT
sed -i 's/"release_date":"/<p>Release Date: /g' xx0$CURRENT
sed -i 's/"overview":"/<p>/g' xx0$CURRENT
#remove end of line ,"
sed -i 's/",//g' xx0$CURRENT
#close html tags
sed -i -e '/<h1>/s/$/<\/h1>/' xx0$CURRENT
sed -i -e '/<p>/s/$/<\/p>/' xx0$CURRENT
sed -i -e '/<img/s/$/"<\/img>/' xx0$CURRENT
#remove unneeded lines
sed -i 's/^[^<].*//g' xx0$CURRENT
sed -i '/^[[:space:]]*$/d' xx0$CURRENT
CURRENT=$((CURRENT+1))
done
#remove previous search result page
rm index.html
#generate new search result page
cat header xx00 xx01 xx02 xx03 xx04 xx05 xx06 xx07 xx08 xx09 footer > index.html
#remove temporary files
CURRENT=0
while [ $CURRENT -le 9 ]
do
rm xx0$CURRENT
CURRENT=$((CURRENT+1))
done
while [ $CURRENT -le 19 ]
do
rm xx$CURRENT
CURRENT=$((CURRENT+1))
done
echo "index.html has been generated in this directory"
echo "Done!"
exit 1