Fast Forward Moving Picture Experts Group

This commit is contained in:
Mike Phares 2024-10-30 17:16:52 -07:00
parent 99198cc378
commit 444e7ed71a

View File

@ -20,7 +20,7 @@ public class Rename
bool IsIgnoreExtension, bool IsIgnoreExtension,
bool IsValidImageFormatExtension, bool IsValidImageFormatExtension,
List<FileHolder> FileHolders, List<FileHolder> FileHolders,
bool FfmpegFilesPresent, bool FastForwardMovingPictureExpertsGroupFilesPresent,
DateTime? DateTimeOriginal, DateTime? DateTimeOriginal,
DateTime[] DateTimes, DateTime[] DateTimes,
int? Id); int? Id);
@ -218,11 +218,11 @@ public class Rename
FilePath filePath; FilePath filePath;
DateTime[] dateTimes; DateTime[] dateTimes;
FileHolder fileHolder; FileHolder fileHolder;
string[]? ffmpegFiles;
bool isIgnoreExtension; bool isIgnoreExtension;
DateTime? dateTimeOriginal; DateTime? dateTimeOriginal;
bool isValidImageFormatExtension; bool isValidImageFormatExtension;
ASCIIEncoding asciiEncoding = new(); ASCIIEncoding asciiEncoding = new();
string[]? fastForwardMovingPictureExpertsGroupFiles;
IReadOnlyList<MetadataExtractor.Directory> directories; IReadOnlyList<MetadataExtractor.Directory> directories;
for (int i = 0; i < files.Length; i++) for (int i = 0; i < files.Length; i++)
{ {
@ -243,7 +243,7 @@ public class Rename
isValidImageFormatExtension = _PropertyConfiguration.ValidImageFormatExtensions.Contains(fileHolder.ExtensionLowered); isValidImageFormatExtension = _PropertyConfiguration.ValidImageFormatExtensions.Contains(fileHolder.ExtensionLowered);
isIgnoreExtension = isValidImageFormatExtension && _PropertyConfiguration.IgnoreExtensions.Contains(fileHolder.ExtensionLowered); isIgnoreExtension = isValidImageFormatExtension && _PropertyConfiguration.IgnoreExtensions.Contains(fileHolder.ExtensionLowered);
if (!isIgnoreExtension && isValidImageFormatExtension) if (!isIgnoreExtension && isValidImageFormatExtension)
ffmpegFiles = null; fastForwardMovingPictureExpertsGroupFiles = null;
else else
{ {
try try
@ -255,10 +255,10 @@ public class Rename
.WithWorkingDirectory(fileHolder.DirectoryName) .WithWorkingDirectory(fileHolder.DirectoryName)
.ExecuteAsync(); .ExecuteAsync();
result.Task.Wait(); result.Task.Wait();
ffmpegFiles = Directory.GetFiles(fileHolder.DirectoryName, $"{fileHolder.Name}-*.jpg", SearchOption.TopDirectoryOnly); fastForwardMovingPictureExpertsGroupFiles = Directory.GetFiles(fileHolder.DirectoryName, $"{fileHolder.Name}-*.jpg", SearchOption.TopDirectoryOnly);
if (ffmpegFiles.Length == 0) if (fastForwardMovingPictureExpertsGroupFiles.Length == 0)
continue; continue;
fileHolder = Shared.Models.Stateless.Methods.IFileHolder.Get(ffmpegFiles.First()); fileHolder = Shared.Models.Stateless.Methods.IFileHolder.Get(fastForwardMovingPictureExpertsGroupFiles.First());
if (!fileHolder.Name.EndsWith("-0001.jpg")) if (!fileHolder.Name.EndsWith("-0001.jpg"))
throw new Exception(); throw new Exception();
isValidImageFormatExtension = _PropertyConfiguration.ValidImageFormatExtensions.Contains(fileHolder.ExtensionLowered); isValidImageFormatExtension = _PropertyConfiguration.ValidImageFormatExtensions.Contains(fileHolder.ExtensionLowered);
@ -269,15 +269,15 @@ public class Rename
continue; continue;
} }
(dateTimeOriginal, dateTimes, id, message) = Property.Models.Stateless.IProperty.Get(_PropertyConfiguration, _PropertyConfiguration.PopulatePropertyId, metadata, fileHolder, isIgnoreExtension, isValidImageFormatExtension, asciiEncoding); (dateTimeOriginal, dateTimes, id, message) = Property.Models.Stateless.IProperty.Get(_PropertyConfiguration, _PropertyConfiguration.PopulatePropertyId, metadata, fileHolder, isIgnoreExtension, isValidImageFormatExtension, asciiEncoding);
if (ffmpegFiles is not null) if (fastForwardMovingPictureExpertsGroupFiles is not null)
{ {
fileHolder = Shared.Models.Stateless.Methods.IFileHolder.Get(files[i]); fileHolder = Shared.Models.Stateless.Methods.IFileHolder.Get(files[i]);
foreach (string ffmpegFile in ffmpegFiles) foreach (string fastForwardMovingPictureExpertsGroupFile in fastForwardMovingPictureExpertsGroupFiles)
File.Delete(ffmpegFile); File.Delete(fastForwardMovingPictureExpertsGroupFile);
} }
if (message is not null) if (message is not null)
throw new Exception(message); throw new Exception(message);
results.Add(new(i + offset, isIgnoreExtension, isValidImageFormatExtension, [fileHolder], ffmpegFiles is null, dateTimeOriginal, dateTimes, id)); results.Add(new(i + offset, isIgnoreExtension, isValidImageFormatExtension, [fileHolder], fastForwardMovingPictureExpertsGroupFiles is null, dateTimeOriginal, dateTimes, id));
} }
return results; return results;
} }