]> git.wh0rd.org - home.git/blob - .bin/imgcrush
imgcrush: wrapper around diff crush tools
[home.git] / .bin / imgcrush
1 #!/bin/bash
2
3 usage() {
4 cat <<EOF
5 Usage: imgcrush [options] <files>
6 EOF
7 exit ${1:-0}
8 }
9
10 crush_jpg() {
11 jpegoptim "$1"
12 }
13
14 crush_png() {
15 # apngopt likes to corrupt images.
16 pngcrush -e .png.new "$1"
17 mv "${png}.new" "${png}"
18 }
19
20 crush() {
21 case $1 in
22 *.jpg|*.jpeg) crush_jpg "$1" ;;
23 *.png) crush_png "$1" ;;
24 esac
25 }
26
27 main() {
28 set -e
29
30 while [[ $# -ne 0 ]] ; do
31 case $1 in
32 -h) usage ;;
33 -*) usage 1 ;;
34 *) crush "$1" ;;
35 esac
36 done
37 }
38 main "$@"