diff --git a/generate.sh b/generate.sh index ef1fb01..a7e1d22 100755 --- a/generate.sh +++ b/generate.sh @@ -2,6 +2,8 @@ COVER_URL=https://www.cl.cam.ac.uk/~rja14/Papers/SEv3-cover.jpg FINAL_PDF=security-engineering-3rd-edition.pdf +INPUT_FILE="urls.txt" + function assert_installed() { for var in "$@"; do if ! which $var &> /dev/null; then @@ -21,18 +23,19 @@ if [[ $@ == *'--download-cover-image'* ]]; then echo "Cover Image downloaded and converted to pdf" fi +declare -a FILES_LIST + +while IFS= read -r line +do + FILENAME=$(basename "$line") + FILES_LIST+=("$FILENAME") +done < "$INPUT_FILE" + echo "Starting PDF download" wget --quiet --timestamping --input-file "urls.txt" echo "All PDFs downloaded" -pdftk cover.pdf SEv3-pref-May16.pdf SEv3-ch1-dec18.pdf \ - SEv3-ch2-dec18.pdf SEv3-ch3-dec18.pdf SEv3-ch4-dec18.pdf \ - SEv3-ch5-dec18.pdf SEv3-ch6-dec18.pdf SEv3-ch7-dec18.pdf \ - SEv3-ch8-dec18.pdf SEv3-ch9-dec18.pdf SEv3-ch10-dec18.pdf \ - SEv3-ch11-jan7.pdf SEv3-ch13-dec18.pdf SEv3-ch14-dec20.pdf \ - SEv3-ch15-dec18.pdf SEv3-ch16-dec18.pdf SEv3-ch17-dec20.pdf \ - SEv3-ch18-dec18.pdf SEv3-ch19-dec18.pdf SEv3-ch26-dec18.pdf \ - SEv3-bib-jan7.pdf cat output temp.pdf +pdftk cover.pdf ${FILES_LIST[@]} cat output temp.pdf echo "PDF files combined" @@ -52,18 +55,19 @@ if [[ $@ == *'--generate-metadata'* ]]; then echo "BookmarkLevel: 1" >> meta.txt echo "BookmarkPageNumber: 1" >> meta.txt - input="urls.txt" + while IFS= read -r line do FILENAME=$(basename "$line") PAGES=$(qpdf --show-npages "$FILENAME") + BOOKMARK_TITLE=$(cut -d- -f 2) echo "BookmarkBegin" >> meta.txt - echo "BookmarkTitle: $FILENAME" >> meta.txt + echo "BookmarkTitle: $BOOKMARK_TITLE" >> meta.txt echo "BookmarkLevel: 1" >> meta.txt echo "BookmarkPageNumber: $PAGE_NUM" >> meta.txt PAGE_NUM=$((PAGE_NUM+PAGES)) - done < "$input" + done < "$INPUT_FILE" echo "Metadata updated" fi diff --git a/urls.txt b/urls.txt index b3dadf8..7f3eb44 100644 --- a/urls.txt +++ b/urls.txt @@ -18,4 +18,4 @@ https://www.cl.cam.ac.uk/~rja14/Papers/SEv3-ch17-dec20.pdf https://www.cl.cam.ac.uk/~rja14/Papers/SEv3-ch18-dec18.pdf https://www.cl.cam.ac.uk/~rja14/Papers/SEv3-ch19-dec18.pdf https://www.cl.cam.ac.uk/~rja14/Papers/SEv3-ch26-dec18.pdf -https://www.cl.cam.ac.uk/~rja14/Papers/SEv3-bib-jan7.pdf \ No newline at end of file +https://www.cl.cam.ac.uk/~rja14/Papers/SEv3-bib-jan7.pdf