From: Steven Baltakatei Sandoval Date: Sat, 3 May 2025 02:35:05 +0000 (+0000) Subject: feat(user/htmlz_to_cbz.sh):Make CBZ from Calibre HTMLZ imgs X-Git-Url: https://zdv2.bktei.com/gitweb/BK-2020-03.git/commitdiff_plain/f06d25b954d7fc046d0f0bbd641feb5df721efd6?ds=inline feat(user/htmlz_to_cbz.sh):Make CBZ from Calibre HTMLZ imgs --- diff --git a/user/htmlz_to_cbz.sh b/user/htmlz_to_cbz.sh new file mode 100755 index 0000000..bf535f0 --- /dev/null +++ b/user/htmlz_to_cbz.sh @@ -0,0 +1,32 @@ +#!/bin/bash +# Desc: Collects .jpg/jpeg files from a Calibre .htmlz file into .cbz files +# Version: 0.0.1 + +for fin in ./*.htmlz; do + ( + dout="${fin%.*}"; + unzip "$fin" -x / -d "$dout"; + pushd "$dout"; + mapfile -t images < <(cat index.html | grep -E "(.jpg|.jpeg)" | sed -E -e 's#.+(images/[0-9]+.(jpeg|jpg)).+#\1#'); + dout="./output"; + if [[ -d "$dout" ]]; then + rm -r "$dout"; + fi; + mkdir "$dout"; + n=1; + for path in "${images[@]}"; do + fnew="${dout}/$(printf "%06d" "$n").jpg"; + cp "$path" "$fnew"; + ((n++)); + done; + if [[ -f cover.jpg ]]; then + cp -n cover.jpg ./output/000000.jpg; + fi; + faout="output.cbz"; + if [[ -f "$faout" ]]; then + rm "$fout"; + fi; + zip -r output.cbz output; + ) & +done; +wait && echo "STATUS:Finished." 1>&2;