]> git.donarmstrong.com Git - bin.git/blob - fixpic
add reset usb bus command
[bin.git] / fixpic
1 #! /usr/bin/perl
2
3 use warnings;
4 use strict;
5
6 use Image::Info qw(image_info);
7
8 use IO::Dir;
9
10 use Getopt::Std;
11
12 my $config = {};
13
14 ($config->{program_name}) = $0 =~/([^\/]+)\s*$/;
15
16 if ($#ARGV < 0) {
17      print STDERR "No Directory Specified\nUsage:  $config->{program_name} <directory>\n";
18      exit 1;
19 }
20
21 $config->{dir} ||= $ARGV[0];
22
23 my $current_directory = new IO::Dir $config->{dir} or die "Unable to read directory $config->{dir}";
24
25 while (defined($_ = $current_directory->read)) {
26      chomp;
27      next unless /(jpg|gif|jpeg|png|pict|bmp)$/i;
28      next unless -f $_;
29
30      my $image_info = image_info($_);
31      next if not defined $image_info;
32      if ($image_info->{Orientation} eq 'left_bot') {
33           qx(mogrify -rotate -90 $_);
34      }
35      elsif ($image_info->{Orientation} eq 'top_left') {
36           qx(mogrify -noop $_);
37      }
38      elsif ($image_info->{Orientation} eq 'right_top') {
39           qx(mogrify -rotate 90 $_);
40      }
41      elsif ($image_info->{Orientation} eq 'right_bot') {
42           qx(mogrify -rotate 180 $_);
43      }
44      else {
45           qx(mogrify -noop $_);
46      }
47 }