]> git.donarmstrong.com Git - bin.git/commitdiff
Add include_jpg option to archive_photos
authorDon Armstrong <don@donarmstrong.com>
Thu, 4 Sep 2025 03:52:55 +0000 (20:52 -0700)
committerDon Armstrong <don@donarmstrong.com>
Thu, 4 Sep 2025 03:52:55 +0000 (20:52 -0700)
archive_photos

index 291f1fb41372fad2abf44911100d9c10e87481b2..42c0fe8fca35a2906163f48e1949ae4ea5e46c6d 100755 (executable)
@@ -23,6 +23,7 @@ archive_photos [options] path/to/photos [additional photos]
  Options:
   --recurse, -r recurse into subdirectories (default)
   --archive-dir, -a directory to archive into (~/media/photos)
+  --include-jpg include jpeg files (default)
   --debug, -d debugging level (Default 0)
   --help, -h display this help
   --man, -m display manual
@@ -39,6 +40,10 @@ Recurse into subdirectories (default; use --no-recurse to disable
 
 Directory to archive to (default is ~/media/photos)
 
+=item B<--include-jpg>
+
+Include jpeg
+
 =item B<--debug, -d>
 
 Debug verbosity. (Default 0)
@@ -77,11 +82,12 @@ my %options = (debug           => 0,
                man             => 0,
                archive_dir     => User->Home."/media/photos",
                recurse         => 1,
+               include_jpg     => 1,
               );
 
 GetOptions(\%options,
            'archive_dir|archive-dir=s',
-           'recurse!',
+           'recurse!','include_jpg|include-jpg!',
            'debug|d+','help|h|?','man|m');
 
 pod2usage() if $options{help};
@@ -98,13 +104,20 @@ pod2usage(join("\n",@USAGE_ERRORS)) if @USAGE_ERRORS;
 
 our @files;
 
+my @regex = qw(NEF MOV);
+if ($options{include_jpg}) {
+    push @regex, 'JPG';
+}
+
+our $file_regex = '\.(?:'.join('|',@regex).')$';
+
 # loads files into @files as appropriate
 sub file_pusher {
     if (-d $_ and not $options{recurse}) {
         $File::Find::prune = 1;
         return;
     }
-    if (-f $_ and $_ =~ /\.(?:NEF|JPG|MOV)$/i) {
+    if (-f $_ and $_ =~ /$file_regex/i) {
         push @files,$File::Find::name;
     }
 }