diff --git a/Rename/Models/Binder/RenameConfiguration.cs b/Rename/Models/Binder/RenameConfiguration.cs index 657646a..857a99f 100644 --- a/Rename/Models/Binder/RenameConfiguration.cs +++ b/Rename/Models/Binder/RenameConfiguration.cs @@ -11,6 +11,7 @@ public class RenameConfiguration public bool? MoveFilesToRoot { get; set; } public bool? SkipIdFiles { get; set; } public string[]? ValidImageFormatExtensions { get; set; } + public string[]? ValidVideoFormatExtensions { get; set; } public override string ToString() { @@ -40,6 +41,7 @@ public class RenameConfiguration { if (configuration.IgnoreExtensions is null || configuration.IgnoreExtensions.Length == 0) throw new NullReferenceException(nameof(configuration.IgnoreExtensions)); if (configuration.ValidImageFormatExtensions is null || configuration.ValidImageFormatExtensions.Length == 0) throw new NullReferenceException(nameof(configuration.ValidImageFormatExtensions)); + if (configuration.ValidVideoFormatExtensions is null || configuration.ValidVideoFormatExtensions.Length == 0) throw new NullReferenceException(nameof(configuration.ValidVideoFormatExtensions)); } private static Models.RenameConfiguration Get(RenameConfiguration? configuration, Shared.Models.MetadataConfiguration metadataConfiguration) @@ -50,12 +52,14 @@ public class RenameConfiguration if (configuration.MoveFilesToRoot is null) throw new NullReferenceException(nameof(configuration.MoveFilesToRoot)); if (configuration.SkipIdFiles is null) throw new NullReferenceException(nameof(configuration.SkipIdFiles)); if (configuration.ValidImageFormatExtensions is null) throw new NullReferenceException(nameof(configuration.ValidImageFormatExtensions)); + if (configuration.ValidVideoFormatExtensions is null) throw new NullReferenceException(nameof(configuration.ValidVideoFormatExtensions)); Verify(configuration); result = new(metadataConfiguration, configuration.IgnoreExtensions, configuration.MoveFilesToRoot.Value, configuration.SkipIdFiles.Value, - configuration.ValidImageFormatExtensions); + configuration.ValidImageFormatExtensions, + configuration.ValidVideoFormatExtensions); return result; } diff --git a/Rename/Models/RenameConfiguration.cs b/Rename/Models/RenameConfiguration.cs index aa3bc03..4737ca0 100644 --- a/Rename/Models/RenameConfiguration.cs +++ b/Rename/Models/RenameConfiguration.cs @@ -8,7 +8,8 @@ public record RenameConfiguration(Shared.Models.MetadataConfiguration MetadataCo string[] IgnoreExtensions, bool MoveFilesToRoot, bool SkipIdFiles, - string[] ValidImageFormatExtensions) : Shared.Models.Properties.IRenameConfiguration + string[] ValidImageFormatExtensions, + string[] ValidVideoFormatExtensions) : Shared.Models.Properties.IRenameConfiguration { public override string ToString() diff --git a/Rename/Rename.cs b/Rename/Rename.cs index 94128a0..a095fd0 100644 --- a/Rename/Rename.cs +++ b/Rename/Rename.cs @@ -46,10 +46,8 @@ public class Rename : IRename { List results = []; FilePath? result; - bool isIgnoreExtension; - bool isValidImageFormatExtension = renameConfiguration.ValidImageFormatExtensions.Contains(filePath.ExtensionLowered); - isIgnoreExtension = isValidImageFormatExtension && renameConfiguration.IgnoreExtensions.Contains(filePath.ExtensionLowered); - if (!isIgnoreExtension && isValidImageFormatExtension) + bool isValidVideoFormatExtensions = renameConfiguration.ValidVideoFormatExtensions.Contains(filePath.ExtensionLowered); + if (!isValidVideoFormatExtensions) result = null; else { @@ -65,8 +63,8 @@ public class Rename : IRename result = FilePath.Get(renameConfiguration.MetadataConfiguration, fileHolder, index: null); if (!result.Name.EndsWith("-0001.jpg")) throw new Exception(); - isValidImageFormatExtension = renameConfiguration.ValidImageFormatExtensions.Contains(result.ExtensionLowered); - isIgnoreExtension = isValidImageFormatExtension && renameConfiguration.IgnoreExtensions.Contains(result.ExtensionLowered); + bool isValidImageFormatExtension = renameConfiguration.ValidImageFormatExtensions.Contains(result.ExtensionLowered); + bool isIgnoreExtension = isValidImageFormatExtension && renameConfiguration.IgnoreExtensions.Contains(result.ExtensionLowered); if (isIgnoreExtension || !isValidImageFormatExtension) throw new Exception(); if (result.DirectoryName is null) diff --git a/Shared/Models/Properties/IRenameConfiguration.cs b/Shared/Models/Properties/IRenameConfiguration.cs index 249c951..cc69424 100644 --- a/Shared/Models/Properties/IRenameConfiguration.cs +++ b/Shared/Models/Properties/IRenameConfiguration.cs @@ -7,5 +7,6 @@ public interface IRenameConfiguration public string[] IgnoreExtensions { init; get; } public bool SkipIdFiles { init; get; } public string[] ValidImageFormatExtensions { init; get; } + public string[] ValidVideoFormatExtensions { init; get; } } \ No newline at end of file