]> zdv2.bktei.com Git - BK-2020-03.git/blobdiff - user/htmlz_to_cbz.sh
fix(user/bkdatev):Fix --date='' functionality for right/UTC
[BK-2020-03.git] / user / htmlz_to_cbz.sh
index 655256302d4c31661751e1ad564f552a479175fa..de313f080e7febfac964039494ceaa64a422ea61 100755 (executable)
@@ -1,32 +1,38 @@
 #!/bin/bash
 # Desc: Collects .jpg/jpeg files from a Calibre .htmlz file into .cbz files
-# Version: 0.0.3
+# Version: 0.1.2
+# Depends: jdupes 1.27.3
 
 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#' | uniq; );
-        dout="./output";
-        if [[ -d "$dout" ]]; then
-            rm -r "$dout";
+        mapfile -t images < <(cat index.html  | grep -E "(.jpg|.jpeg|.png)" | sed -E -e 's#.+(images/[0-9]+.(jpeg|jpg|png)).+#\1#' | uniq; );
+        dout2="./output";
+        if [[ -d "$dout2" ]]; then
+            rm -r "$dout2";
         fi;
-        mkdir "$dout";
+        mkdir "$dout2";
         n=1;
         for path in "${images[@]}"; do
-            fnew="${dout}/$(printf "%06d" "$n").jpg";
+            fnew="${dout2}/$(printf "%06d" "$n").jpg";
             cp "$path" "$fnew";
             ((n++));
         done;
+        # Add cover file if present
         if [[ -f cover.jpg ]]; then
-            cp -n cover.jpg ./output/000000.jpg;
+            cp -n cover.jpg "${dout2}/000000.jpg";
+        fi;
+        # Remove duplicate images
+        if command -v jdupes 1>/dev/random 2>&1; then
+            jdupes -dN "$dout2";
         fi;
         faout="output.cbz";
         if [[ -f "$faout" ]]; then
             rm "$fout";
         fi;
-        zip -j output.cbz output/*;
+        zip -j output.cbz "$dout2"/*;
     ) &
 done;
 wait && echo "STATUS:Finished." 1>&2;