All pastes #637967 Raw Edit

dygi / file #3

public shellscript v1 · immutable
#637967 ·published 2007-07-29 12:29 UTC
rendered paste body
#   convert_and_compress v0.02en made under debian lenny/sid using vim 7.1 ##   a very simple script that converts pictures and compress them with zip #   author:krzysztof szynter aka dygi gg:1027078 email:k.szynter@gmail.com##        all rights are not reserved - copying modificating and using#           are allowed but only for your own sole responsibility--------------------------------------------------------------------------------dygi@orion:~/test$ su -c 'apt-get install imagemagick zip unzip'--------------------------------------------------------------------------------dygi@orion:~/test$ dpkg --list | grep ' zip ' && dpkg --list | grep ' imagemagick ' ii  imagemagick                      7:6.2.4.5.dfsg1-1               Image manipulation programsii  zip                              2.32-1                          Archiver for .zip filesii  unzip                            5.52-10                         De-archiver for .zip files--------------------------------------------------------------------------------dygi@orion:~/test$ ls -Al -rwxr-xr-x 1 dygi dygi   5368 2007-07-29 10:24 convert_and_compress_desc_en-rwxr-xr-x 1 dygi dygi 916002 2007-07-29 01:24 p7220156.JPG-rwxr-xr-x 1 dygi dygi 913534 2007-07-29 01:24 p7220157.JPG-rwxr-xr-x 1 dygi dygi 915862 2007-07-29 01:24 p7220158.jpg-rwxr-xr-x 1 dygi dygi 885128 2007-07-29 01:24 p7220159.jpg-rwxr-xr-x 1 dygi dygi 888355 2007-07-29 01:24 p7220160.jpg--------------------------------------------------------------------------------dygi@orion:~/test$ ./convert_and_compress_v0.02en- convert to mid and low res files [y/n]: y- compress mid and low res files with zip [y/n]: y- clean the mess in folder tree after all [y/n]: yCounting graphic files in folder         [OK] :: 5 filesCreating folder ./temp                   [OK]Copying *.jpg files into folder ./temp   [OK] :: 3 filesCopying *.JPG files into folder ./temp   [OK] :: 2 filesChanging working folder to ./temp        [OK]Starting *.jpg convertion phase          [OK]Starting *.JPG convertion phase          [OK]Changing the original filenames to hires [OK]Starting compression phase             1) compressing lowres files             [OK] 2) compressing midres files             [OK] 3) compressing hires files              [OK]Starting cleaning phase                  [OK]SUMMARY: There was no errors during the program work..--------------------------------------------------------------------------------dygi@orion:~/test$ ls -Al-rw-r--r-- 1 root root 4449882 2007-07-29 14:17 compressed_hires.zip-rw-r--r-- 1 root root  493949 2007-07-29 14:17 compressed_lowres.zip-rw-r--r-- 1 root root  807420 2007-07-29 14:17 compressed_midres.zip-rwxr-xr-x 1 dygi dygi    5026 2007-07-29 13:47 convert_and_compress_v0.02en-rwxr-xr-x 1 dygi dygi  916002 2007-07-29 01:24 p7220156.JPG-rwxr-xr-x 1 dygi dygi  913534 2007-07-29 01:24 p7220157.JPG-rwxr-xr-x 1 dygi dygi  915862 2007-07-29 01:24 p7220158.jpg-rwxr-xr-x 1 dygi dygi  885128 2007-07-29 01:24 p7220159.jpg-rwxr-xr-x 1 dygi dygi  888355 2007-07-29 01:24 p7220160.jpg--------------------------------------------------------------------------------dygi@orion:~/test$ unzip compressed_lowres.zip Archive:  compressed_lowres.zip  inflating: lowres_p7220156.JPG       inflating: lowres_p7220157.JPG       inflating: lowres_p7220158.jpg       inflating: lowres_p7220159.jpg       inflating: lowres_p7220160.jpg     --------------------------------------------------------------------------------dygi@orion:~/test$ unzip compressed_midres.zip Archive:  compressed_midres.zip  inflating: midres_p7220156.JPG       inflating: midres_p7220157.JPG       inflating: midres_p7220158.jpg       inflating: midres_p7220159.jpg       inflating: midres_p7220160.jpg     --------------------------------------------------------------------------------dygi@orion:~/test$ unzip compressed_hires.zip Archive:  compressed_hires.zip  inflating: hires_p7220156.JPG        inflating: hires_p7220157.JPG        inflating: hires_p7220158.jpg        inflating: hires_p7220159.jpg        inflating: hires_p7220160.jpg      --------------------------------------------------------------------------------dygi@orion:~/test$ ls -Al-rw-r--r-- 1 root root 4449882 2007-07-29 14:17 compressed_hires.zip-rw-r--r-- 1 root root  493949 2007-07-29 14:17 compressed_lowres.zip-rw-r--r-- 1 root root  807420 2007-07-29 14:17 compressed_midres.zip-rwxr-xr-x 1 dygi dygi    5026 2007-07-29 13:47 convert_and_compress_v0.02en-rwxr-xr-x 1 dygi dygi  916002 2007-07-29 14:17 hires_p7220156.JPG-rwxr-xr-x 1 dygi dygi  913534 2007-07-29 14:17 hires_p7220157.JPG-rwxr-xr-x 1 dygi dygi  915862 2007-07-29 14:17 hires_p7220158.jpg-rwxr-xr-x 1 dygi dygi  885128 2007-07-29 14:17 hires_p7220159.jpg-rwxr-xr-x 1 dygi dygi  888355 2007-07-29 14:17 hires_p7220160.jpg-rw-r--r-- 1 dygi dygi  107040 2007-07-29 14:17 lowres_p7220156.JPG-rw-r--r-- 1 dygi dygi  105291 2007-07-29 14:17 lowres_p7220157.JPG-rw-r--r-- 1 dygi dygi  105531 2007-07-29 14:17 lowres_p7220158.jpg-rw-r--r-- 1 dygi dygi  115472 2007-07-29 14:17 lowres_p7220159.jpg-rw-r--r-- 1 dygi dygi  106677 2007-07-29 14:17 lowres_p7220160.jpg-rw-r--r-- 1 dygi dygi  172248 2007-07-29 14:17 midres_p7220156.JPG-rw-r--r-- 1 dygi dygi  169034 2007-07-29 14:17 midres_p7220157.JPG-rw-r--r-- 1 dygi dygi  169297 2007-07-29 14:17 midres_p7220158.jpg-rw-r--r-- 1 dygi dygi  179350 2007-07-29 14:17 midres_p7220159.jpg-rw-r--r-- 1 dygi dygi  164971 2007-07-29 14:17 midres_p7220160.jpg-rwxr-xr-x 1 dygi dygi  916002 2007-07-29 01:24 p7220156.JPG-rwxr-xr-x 1 dygi dygi  913534 2007-07-29 01:24 p7220157.JPG-rwxr-xr-x 1 dygi dygi  915862 2007-07-29 01:24 p7220158.jpg-rwxr-xr-x 1 dygi dygi  885128 2007-07-29 01:24 p7220159.jpg-rwxr-xr-x 1 dygi dygi  888355 2007-07-29 01:24 p7220160.jpg--------------------------------------------------------------------------------dygi@orion:~/test$ more ./convert_and_compress_v0.02en#!/bin/bash#   convert_and_compress v0.02en made under debian lenny/sid using vim 7.1 ##   a very simple script that converts pictures and compress them with zip #   author:krzysztof szynter aka dygi gg:1027078 email:k.szynter@gmail.com##        all rights are not reserved - copying modificating and using#           are allowed but only for your own sole responsibility# =======================================================================================================# description# a very simple script that converts pictures in ./ to lower resolution and compress them with zip# it works on a copy of files, not on the original files, has three switches to choose at the beginning# - convert phase [y/n]  :: goes on or shows the summary and exits# - compress phase [y/n] :: compress each resoultion group of files into a separate zip file or do nth# - clean the mess [y/n] :: cleans the mess executing `rm -rf ./temp` or do nth# # if all options switched to 'y' the program creates the ./temp folder, copies the graphic files it found# to the ./temp, converts files to mid and low resolution files, changes the original filenames to hires,# compress each resolution group of files to a separate zip file, moves them ../ and remove a whole ./temp# so at the end you have 3 more files in ./ (zipped: low, mid and the original-hi res graphic files)## limitations# - only .jpg and .JPG files for a while ! have to add other formats 'convert' allows# =======================================================================================================# CONST LOW_RES_MODE='800x600'MID_RES_MODE='1024x768'# VARerror_status='0'# main programclearecho -en "- convert to mid and low res files [y/n]: "read convert_statusif [ "$convert_status" = 'y' ]then  echo -en "- compress mid and low res files with zip [y/n]: "  read compress_status  echo -en "- clean the mess in folder tree after all [y/n]: "  read clean_statusfi#echo -ne "\nPress ENTER to continue: "#read   echo -en "\nCounting graphic files in folder       "jpg_files_cnt=`ls -1 *.jpg | wc -l`JPG_files_cnt=`ls -1 *.JPG | wc -l`graphic_files_sum_cnt=$(($jpg_files_cnt+$JPG_files_cnt))if [ "$jpg_files_cnt" -ge '1' ]then  files_cnt='0'  for i in `ls -1 *.jpg`;  do     files_cnt="$(($files_cnt+1))";    arr_files_jpg[$(($files_cnt))]="$i";  donefiif [ "$JPG_files_cnt" -ge '1' ]then  files_cnt='0'  for i in `ls -1 *.JPG`;  do     files_cnt="$(($files_cnt+1))";    arr_files_JPG[$(($files_cnt))]="$i";  donefiecho -en "  [OK] :: $graphic_files_sum_cnt files\n"if [ "$convert_status" = 'y' ]then  echo -n 'Creating folder ./temp                 '  mkdir ./temp && echo '  [OK]'  if [ "$jpg_files_cnt" -ge '1' ]  then     echo -n 'Copying *.jpg files into folder ./temp '    cp ./*.jpg ./temp && echo -e "  [OK] :: $jpg_files_cnt files"  fi  if [ "$JPG_files_cnt" -ge '1' ]  then     echo -n 'Copying *.JPG files into folder ./temp '    cp ./*.JPG ./temp && echo -e "  [OK] :: $JPG_files_cnt files"  fi  echo -n 'Changing working folder to ./temp      '   cd ./temp && echo -e "  [OK]\n"  echo -ne "Starting *.jpg convertion phase        "  if [ "$jpg_files_cnt" -ge '1'  ]  then    for i in `seq 1 ${#arr_files_jpg[*]}`    do       convert "${arr_files_jpg[$i]}" -resize "$MID_RES_MODE" "midres_${arr_files_jpg[$i]}"      convert "midres_${arr_files_jpg[$i]}" -resize "$LOW_RES_MODE" "lowres_${arr_files_jpg[$i]}"    done  fi  echo -e "  [OK]"  echo -ne "Starting *.JPG convertion phase        "  if [ "$JPG_files_cnt" -ge '1'  ]  then    for i in `seq 1 ${#arr_files_JPG[*]}`    do       convert "${arr_files_JPG[$i]}" -resize "$MID_RES_MODE" "midres_${arr_files_JPG[$i]}"      convert "midres_${arr_files_JPG[$i]}" -resize "$LOW_RES_MODE" "lowres_${arr_files_JPG[$i]}"    done  fi  echo -e "  [OK]\n"  echo -n 'Changing the original filenames to hires'  for i in `ls -1 | grep -v lowres | grep -v midres`; do mv $i hires_$i; done && echo -e " [OK]"else  echo -en "\nConverting phase    [OMITTED]"fiif [ "$compress_status" = 'y' ]then  echo -e "Starting compression phase            \n"  echo -n ' 1) compressing lowres files           '  zip -q compressed_lowres.zip lowres* && echo '  [OK]'    echo -n ' 2) compressing midres files           '  zip -q compressed_midres.zip midres* && echo '  [OK]'    echo -n ' 3) compressing hires files            '  zip -q compressed_hires.zip hires* && echo -e "  [OK]\n"else  echo -e "\nCompressing phase   [OMITTED]"fi  if [ "$clean_status" = 'y' ]then  echo -ne "\nStarting cleaning phase                "  mv ./*zip ../ && cd ../ && rm -rf ./temp && echo -e "  [OK]\n"else  echo -e "Cleaning phase      [OMITTED]\n"fiif [ "$error_status" = '1' ]then   echo -e "SUMMARY: An unknown error has occur during the program work - check the folder tree..\n"else   echo -e "SUMMARY: There wasn't errors during the program work..\n"fi