diff --git a/bin/.local/bin/cbr2cbz-down.py b/bin/.local/bin/cbr2cbz-down.py new file mode 100644 index 0000000..81a743b --- /dev/null +++ b/bin/.local/bin/cbr2cbz-down.py @@ -0,0 +1,83 @@ +#!/usr/bin/env python + +import sys +import os +import tempfile + + +def execute(command): + os.system(command) + +def print_err(message): + execute(">&2 echo \""+message+"\"") + +def print_usage(): + usage="cbr2cbz A script utility to convert CBR files into CBZ files" + usage+="\n\t Usage: cbr2cbz " + usage+="\n\t\n\t (Please don't use non-free formats like RAR/CBR)" + print_err(usage) + +#Extract images from a CBR file into a directory +def uncompress(filename, directory): + UNRAR="unrar e" + command=" ".join([UNRAR, "\""+filename+"\"", directory]) + #print_err(command) + execute(command) + +#Resize a folder of images to 85 quality +def resize(directory): + IM="magick" + ARGS="-compress jpeg -resize 75% -quality 85" + + for file in os.listdir(directory): + file = directory + '/"' + file + '"' + command=" ".join([IM, file, ARGS, file]) + execute (command) + +#Compress a folder with images into a CBZ/ZIP file +def compress (directory, zip_filename): + ZIP="zip" + directory=directory+"/*" + command=" ".join([ZIP, "\""+zip_filename+"\"", directory ]) + execute (command) + +def get_filename_without_extension(filename): + return filename[:-4] + + + +if len(sys.argv)!=2: + print_usage(); + sys.exit(-1) + + + + +cbr_filename=sys.argv[1] +cbz_filename=get_filename_without_extension(cbr_filename)+".cbz" +temp_dir=tempfile.mkdtemp("cbr2cbz") + +print_err("Processing "+cbr_filename) + +#Extract images from CBR/RAR into a directory +uncompress(sys.argv[1], temp_dir) + +#Resize/downsample big images +resize(temp_dir) +#Compress images and put them into a CBZ/ZIP +compress(temp_dir, cbz_filename) +execute("".join(["rm -Rf ", temp_dir])) + + + +def extract (cbr_filename, dir_name): + pass + + + + + + + + +#execute ("dir") diff --git a/bin/.local/bin/cbz2cbz-down.py b/bin/.local/bin/cbz2cbz-down.py new file mode 100644 index 0000000..41e8baf --- /dev/null +++ b/bin/.local/bin/cbz2cbz-down.py @@ -0,0 +1,83 @@ +#!/usr/bin/env python + +import sys +import os +import tempfile + + +def execute(command): + os.system(command) + +def print_err(message): + execute(">&2 echo \""+message+"\"") + +def print_usage(): + usage="cbr2cbz A script utility to convert CBR files into CBZ files" + usage+="\n\t Usage: cbr2cbz " + usage+="\n\t\n\t (Please don't use non-free formats like RAR/CBR)" + print_err(usage) + +#Extract images from a CBR file into a directory +def uncompress(filename, directory): + UNZIP="unzip" + command=" ".join([UNZIP, "\""+filename+"\"", directory]) + #print_err(command) + execute(command) + +#Resize a folder of images to 85 quality +def resize(directory): + IM="magick" + ARGS="-compress jpeg -resize 75% -quality 85" + + for file in os.listdir(directory): + file = directory + '/"' + file + '"' + command=" ".join([IM, file, ARGS, file]) + execute (command) + +#Compress a folder with images into a CBZ/ZIP file +def compress (directory, zip_filename): + ZIP="zip" + directory=directory+"/*" + command=" ".join([ZIP, "\""+zip_filename+"\"", directory ]) + execute (command) + +def get_filename_without_extension(filename): + return filename[:-4] + + + +if len(sys.argv)!=2: + print_usage(); + sys.exit(-1) + + + + +cbr_filename=sys.argv[1] +cbz_filename=get_filename_without_extension(cbr_filename)+".cbz" +temp_dir=tempfile.mkdtemp("cbr2cbz") + +print_err("Processing "+cbr_filename) + +#Extract images from CBR/RAR into a directory +uncompress(sys.argv[1], temp_dir) + +#Resize/downsample big images +resize(temp_dir) +#Compress images and put them into a CBZ/ZIP +compress(temp_dir, cbz_filename) +execute("".join(["rm -Rf ", temp_dir])) + + + +def extract (cbr_filename, dir_name): + pass + + + + + + + + +#execute ("dir")