RenameUrl

This commit is contained in:
Mike Phares 2023-12-25 20:41:10 -07:00
parent d830c1d5a4
commit 7ec50dd56e
2 changed files with 41 additions and 0 deletions

View File

@ -108,6 +108,24 @@ public class Rename : IRename
#pragma warning restore CA1416 #pragma warning restore CA1416
private static void RenameUrl(FilePath filePath)
{
string[] lines = File.ReadAllLines(filePath.FullName);
if (lines.Length == 1)
{
FileHolder fileHolder = new(lines[0]);
if (fileHolder.Exists)
{
string checkFile;
checkFile = IId.GetIgnoreFullPath(filePath, fileHolder);
if (lines[0] == checkFile || lines[0].Length != checkFile.Length)
throw new NotSupportedException();
File.Move(lines[0], checkFile);
}
File.Delete(filePath.FullName);
}
}
private static void GetExifDirectoryCollection(IRename rename, RenameConfiguration renameConfiguration, List<(string, FileInfo, ExifDirectory)> exifDirectories, IEnumerable<string> files, A_Metadata metadata) private static void GetExifDirectoryCollection(IRename rename, RenameConfiguration renameConfiguration, List<(string, FileInfo, ExifDirectory)> exifDirectories, IEnumerable<string> files, A_Metadata metadata)
{ {
int index = -1; int index = -1;
@ -124,6 +142,11 @@ public class Rename : IRename
rename.Tick(); rename.Tick();
fileHolder = new(file); fileHolder = new(file);
filePath = FilePath.Get(renameConfiguration.MetadataConfiguration, fileHolder, index); filePath = FilePath.Get(renameConfiguration.MetadataConfiguration, fileHolder, index);
if (filePath.ExtensionLowered == ".url" && filePath.Id is not null)
{
RenameUrl(filePath);
continue;
}
if (renameConfiguration.SkipIdFiles && filePath.Id is not null && (filePath.IsIntelligentIdFormat || filePath.SortOrder is not null)) if (renameConfiguration.SkipIdFiles && filePath.Id is not null && (filePath.IsIntelligentIdFormat || filePath.SortOrder is not null))
continue; continue;
(ffmpegFiles, ffmpegFilePath) = rename.ConvertAndGetFfmpegFiles(renameConfiguration, filePath); (ffmpegFiles, ffmpegFilePath) = rename.ConvertAndGetFfmpegFiles(renameConfiguration, filePath);

View File

@ -18,6 +18,24 @@ public interface IId
static string GetPaddedId(MetadataConfiguration metadataConfiguration, int index, int id) => static string GetPaddedId(MetadataConfiguration metadataConfiguration, int index, int id) =>
Id.GetPaddedId(metadataConfiguration, index, id); Id.GetPaddedId(metadataConfiguration, index, id);
bool TestStatic_IsIgnore(FilePath filePath) =>
IsIgnore(filePath);
static bool IsIgnore(FilePath filePath) =>
filePath.FileNameFirstSegment[^1] is '2' or '8';
string TestStatic_GetIgnoreFullPath(FilePath filePath, FileHolder fileHolder) =>
GetIgnoreFullPath(filePath, fileHolder);
static string GetIgnoreFullPath(FilePath filePath, FileHolder fileHolder) =>
fileHolder.DirectoryName is null ?
throw new NotSupportedException() :
filePath.Id > -1 ?
fileHolder.NameWithoutExtension[^1] == '9' ?
Path.Combine(fileHolder.DirectoryName, $"{fileHolder.NameWithoutExtension[..^1]}8{fileHolder.ExtensionLowered}") :
throw new NotSupportedException("High") :
fileHolder.NameWithoutExtension[^1] == '1' ?
Path.Combine(fileHolder.DirectoryName, $"{fileHolder.NameWithoutExtension[..^1]}2{fileHolder.ExtensionLowered}") :
throw new NotSupportedException("Low");
bool TestStatic_NameWithoutExtensionIsIntelligentIdFormat(MetadataConfiguration metadataConfiguration, string fileNameFirstSegment) => bool TestStatic_NameWithoutExtensionIsIntelligentIdFormat(MetadataConfiguration metadataConfiguration, string fileNameFirstSegment) =>
NameWithoutExtensionIsIntelligentIdFormat(metadataConfiguration, fileNameFirstSegment); NameWithoutExtensionIsIntelligentIdFormat(metadataConfiguration, fileNameFirstSegment);
static bool NameWithoutExtensionIsIntelligentIdFormat(MetadataConfiguration metadataConfiguration, string fileNameFirstSegment) => static bool NameWithoutExtensionIsIntelligentIdFormat(MetadataConfiguration metadataConfiguration, string fileNameFirstSegment) =>