]> zdv2.bktei.com Git - BK-2020-03.git/commitdiff
feat(user/htmlz_to_cbz.sh):Make CBZ from Calibre HTMLZ imgs
authorSteven Baltakatei Sandoval <baltakatei@gmail.com>
Sat, 3 May 2025 02:35:05 +0000 (02:35 +0000)
committerSteven Baltakatei Sandoval <baltakatei@gmail.com>
Sat, 3 May 2025 02:35:05 +0000 (02:35 +0000)
user/htmlz_to_cbz.sh [new file with mode: 0755]

diff --git a/user/htmlz_to_cbz.sh b/user/htmlz_to_cbz.sh
new file mode 100755 (executable)
index 0000000..bf535f0
--- /dev/null
@@ -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;