Add guess_EndDateTime and fix_DefaultVideo to be used in zmrecover.pl

pull/3553/merge
Isaac Connor 2025-08-14 18:06:55 -04:00
parent b0b42353b0
commit 69551f4ca6
1 changed files with 32 additions and 0 deletions

View File

@ -887,6 +887,38 @@ sub recover_timestamps {
$Event->StartDateTime( Date::Format::time2str('%Y-%m-%d %H:%M:%S', $starttime) );
}
sub guess_EndDateTime {
my $event = shift;
if (!$$event{EndDateTime}) {
if ($$event{Length}) {
my $startdatetime = Date::Parse::str2time( $_[0]{StartDateTime} );
$$event{EndDateTime} = Date::Format::time2str('%Y-%m-%d %H:%M:%S', $startdatetime + $$event{Length});
} else {
$$event{EndDateTime} = Date::Format::time2str('%Y-%m-%d %H:%M:%S', Date::Parse::str2time( $_[0]{StartDateTime} )+1);
}
}
return $$event{EndDateTime};
}
sub fix_DefaultVideo {
my $event = shift;
if (!$$event{DefaultVideo} or $$event{DefaultVideo} eq 'incomplete.mp4' or ! -e $event->Path().'/'.$$event{DefaultVideo}) {
my $path = $event->Path();
if ( !opendir(DIR, $path) ) {
Error("Can't open directory '$path': $!");
return;
}
my @contents = readdir(DIR);
Debug('Have ' . @contents . ' files in '.$path);
closedir(DIR);
my @mp4_files = grep(/^\d+\-video\.\w+\.mp4$/, @contents);
if ( @mp4_files ) {
$$event{DefaultVideo} = $mp4_files[0];
}
}
} # end sub fix_DefaultVideo
sub files {
my $self = shift;