ValidVideoFormatExtensions

This commit is contained in:
Mike Phares 2023-12-25 19:18:54 -07:00
parent 48eea2edbd
commit d830c1d5a4
4 changed files with 12 additions and 8 deletions

View File

@ -11,6 +11,7 @@ public class RenameConfiguration
public bool? MoveFilesToRoot { get; set; } public bool? MoveFilesToRoot { get; set; }
public bool? SkipIdFiles { get; set; } public bool? SkipIdFiles { get; set; }
public string[]? ValidImageFormatExtensions { get; set; } public string[]? ValidImageFormatExtensions { get; set; }
public string[]? ValidVideoFormatExtensions { get; set; }
public override string ToString() 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.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.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) 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.MoveFilesToRoot is null) throw new NullReferenceException(nameof(configuration.MoveFilesToRoot));
if (configuration.SkipIdFiles is null) throw new NullReferenceException(nameof(configuration.SkipIdFiles)); if (configuration.SkipIdFiles is null) throw new NullReferenceException(nameof(configuration.SkipIdFiles));
if (configuration.ValidImageFormatExtensions is null) throw new NullReferenceException(nameof(configuration.ValidImageFormatExtensions)); if (configuration.ValidImageFormatExtensions is null) throw new NullReferenceException(nameof(configuration.ValidImageFormatExtensions));
if (configuration.ValidVideoFormatExtensions is null) throw new NullReferenceException(nameof(configuration.ValidVideoFormatExtensions));
Verify(configuration); Verify(configuration);
result = new(metadataConfiguration, result = new(metadataConfiguration,
configuration.IgnoreExtensions, configuration.IgnoreExtensions,
configuration.MoveFilesToRoot.Value, configuration.MoveFilesToRoot.Value,
configuration.SkipIdFiles.Value, configuration.SkipIdFiles.Value,
configuration.ValidImageFormatExtensions); configuration.ValidImageFormatExtensions,
configuration.ValidVideoFormatExtensions);
return result; return result;
} }

View File

@ -8,7 +8,8 @@ public record RenameConfiguration(Shared.Models.MetadataConfiguration MetadataCo
string[] IgnoreExtensions, string[] IgnoreExtensions,
bool MoveFilesToRoot, bool MoveFilesToRoot,
bool SkipIdFiles, bool SkipIdFiles,
string[] ValidImageFormatExtensions) : Shared.Models.Properties.IRenameConfiguration string[] ValidImageFormatExtensions,
string[] ValidVideoFormatExtensions) : Shared.Models.Properties.IRenameConfiguration
{ {
public override string ToString() public override string ToString()

View File

@ -46,10 +46,8 @@ public class Rename : IRename
{ {
List<string> results = []; List<string> results = [];
FilePath? result; FilePath? result;
bool isIgnoreExtension; bool isValidVideoFormatExtensions = renameConfiguration.ValidVideoFormatExtensions.Contains(filePath.ExtensionLowered);
bool isValidImageFormatExtension = renameConfiguration.ValidImageFormatExtensions.Contains(filePath.ExtensionLowered); if (!isValidVideoFormatExtensions)
isIgnoreExtension = isValidImageFormatExtension && renameConfiguration.IgnoreExtensions.Contains(filePath.ExtensionLowered);
if (!isIgnoreExtension && isValidImageFormatExtension)
result = null; result = null;
else else
{ {
@ -65,8 +63,8 @@ public class Rename : IRename
result = FilePath.Get(renameConfiguration.MetadataConfiguration, fileHolder, index: null); result = FilePath.Get(renameConfiguration.MetadataConfiguration, fileHolder, index: null);
if (!result.Name.EndsWith("-0001.jpg")) if (!result.Name.EndsWith("-0001.jpg"))
throw new Exception(); throw new Exception();
isValidImageFormatExtension = renameConfiguration.ValidImageFormatExtensions.Contains(result.ExtensionLowered); bool isValidImageFormatExtension = renameConfiguration.ValidImageFormatExtensions.Contains(result.ExtensionLowered);
isIgnoreExtension = isValidImageFormatExtension && renameConfiguration.IgnoreExtensions.Contains(result.ExtensionLowered); bool isIgnoreExtension = isValidImageFormatExtension && renameConfiguration.IgnoreExtensions.Contains(result.ExtensionLowered);
if (isIgnoreExtension || !isValidImageFormatExtension) if (isIgnoreExtension || !isValidImageFormatExtension)
throw new Exception(); throw new Exception();
if (result.DirectoryName is null) if (result.DirectoryName is null)

View File

@ -7,5 +7,6 @@ public interface IRenameConfiguration
public string[] IgnoreExtensions { init; get; } public string[] IgnoreExtensions { init; get; }
public bool SkipIdFiles { init; get; } public bool SkipIdFiles { init; get; }
public string[] ValidImageFormatExtensions { init; get; } public string[] ValidImageFormatExtensions { init; get; }
public string[] ValidVideoFormatExtensions { init; get; }
} }