Updated for Ubuntu 22.04. Also fixed merge videos cmin check
[videoscripts/.git] / organize_videos
index 05edab463cb246cba2357155bd67c6985c5ed1bc..a037d75abb7888e3b3345fb936372a3e64110867 100755 (executable)
@@ -127,10 +127,9 @@ if(defined $opt_p) {
 $video_files_found=`$find_cmd_with_mkv`;
 if(!$video_files_found) { exit 0; }
 
-# Only proceed if no files have changed in the past $cmin minutes
-if(! $opt_f) { 
-  $changed_files_found=`$find_changed_cmd`;
-  if($changed_files_found) { exit 0; }
+# Only proceed if we are skipping this check or if the $srcpathname dir hasn't been modified in the last $minage minutes
+if(! $opt_f && ((time - (stat("$srcpathname"))->mtime) < ($minage * 60))) {
+  exit 0;
 }
 
 # Only one instance of this script running at a time
@@ -179,10 +178,13 @@ foreach $file (`$find_mkv`) {
     print "srcfile: $srcfile\n";
     if($srcfile =~ /.hb.mp4/) { next; }
     
-    print "Found movie: srcdir: $srcdir srcfile: $srcfile ext: $ext\n" if($opt_v);
-        
-    # Make a note of the month, year, and day this video was taken (from the modification time of the file)
-    $date_taken = ctime(stat("$srcdir/$srcfile")->mtime);
+    print "Found video: srcdir: $srcdir srcfile: $srcfile ext: $ext\n" if($opt_v);
+
+    # From the modification time of the file since we couldn't find it in the filename
+    $date_modified = ctime(stat("$srcdir/$srcfile")->mtime);
+
+    # NOTE: This file matching algorithm only applies to videos produced by merge_videos_by_day called by this script earlier
+    # We just need to take those merged videos, and extract what date to call the video by under HomeVideos
 
     # Get the date taken from the filename
     if($srcfile =~ /^(\d+)-(\d+)-(\d+)/) {
@@ -208,7 +210,7 @@ foreach $file (`$find_mkv`) {
        $monthname = lc($month2monthname{$month});
     }
     # Get the date taken from the modification time
-    elsif($date_taken =~ /\S+\s+(\S+)\s+(\d+)\s+\S+\s+(\d+)/) {
+    elsif($date_modified =~ /\S+\s+(\S+)\s+(\d+)\s+\S+\s+(\d+)/) {
        $year = $3;
        $month = $1;
        $day = sprintf("%02d",$2);
@@ -261,7 +263,7 @@ foreach $file (`$find_mkv`) {
        if(is_folder_empty($srcdir)) { 
            print "-> Subdir detected for videos ($srcdir != $srcpathname)\n" if($opt_v);
            if(! defined $opt_t) { 
-               $tmpdir=`tempfile`;
+               $tmpdir=`mktemp`;
                system("rm $tmpdir");
                system("cp -R \"$srcdir\" $tmpdir > /dev/null 2>/dev/null");
                system("rm -rf \"$srcdir\"");