RelativePropertyCollectionFile

aMetadataCollectionDirectory
Work with video
FilePath.IsIgnore
Removed IId IsIgnore
Keywords
RootAmazon
SaveAmazon
PhysicalFileProvider Message
Bump
HarFilesDirectory
This commit is contained in:
2024-01-21 19:11:59 -07:00
parent 684ba1f0df
commit d1557e1d85
40 changed files with 748 additions and 160 deletions

View File

@ -35,7 +35,7 @@ internal abstract class Id
return result;
}
internal static string GetIntelligentId(MetadataConfiguration metadataConfiguration, long id, bool ignore)
internal static string GetIntelligentId(MetadataConfiguration metadataConfiguration, long id, bool? ignore)
{
string result;
StringBuilder stringBuilder = new();
@ -46,12 +46,12 @@ internal abstract class Id
List<char> resultAllInOneSubdirectoryChars = [];
if (id > -1)
{
key = ignore ? 8 : 9;
key = ignore is not null && ignore.Value ? 8 : 9;
value = id.ToString().PadLeft(metadataConfiguration.IntMinValueLength, '0');
}
else
{
key = ignore ? 2 : 1;
key = ignore is not null && ignore.Value ? 2 : 1;
value = id.ToString()[1..].PadLeft(metadataConfiguration.IntMinValueLength, '0');
}
for (int i = value.Length - metadataConfiguration.ResultConfiguration.ResultAllInOneSubdirectoryLength - 1; i > -1; i--)
@ -62,14 +62,19 @@ internal abstract class Id
return result;
}
internal static string GetPaddedId(MetadataConfiguration metadataConfiguration, int index, int id)
internal static string GetPaddedId(MetadataConfiguration metadataConfiguration, int id, bool? ignore, int? index)
{
string result;
string intelligentId = GetIntelligentId(metadataConfiguration, id, ignore: false);
int check = GetId(metadataConfiguration, intelligentId);
if (check != id)
throw new NotSupportedException();
result = $"{metadataConfiguration.Offset + index}{intelligentId}";
if (metadataConfiguration.Offset < 0)
result = Guid.NewGuid().ToString();
else
{
string intelligentId = GetIntelligentId(metadataConfiguration, id, ignore);
int check = GetId(metadataConfiguration, intelligentId);
if (check != id)
throw new NotSupportedException();
result = index is null || metadataConfiguration.Offset == 9876543 ? intelligentId : $"{metadataConfiguration.Offset + index}{intelligentId}";
}
return result;
}

View File

@ -13,15 +13,10 @@ public interface IId
static int GetId(MetadataConfiguration metadataConfiguration, string intelligentId) =>
Id.GetId(metadataConfiguration, intelligentId);
string TestStatic_GetPaddedId(MetadataConfiguration metadataConfiguration, int index, int id) =>
GetPaddedId(metadataConfiguration, index, id);
static string GetPaddedId(MetadataConfiguration metadataConfiguration, int index, int 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_GetPaddedId(MetadataConfiguration metadataConfiguration, int id, bool? ignore, int? index) =>
GetPaddedId(metadataConfiguration, id, ignore, index);
static string GetPaddedId(MetadataConfiguration metadataConfiguration, int id, bool? ignore, int? index) =>
Id.GetPaddedId(metadataConfiguration, id, ignore, index);
string TestStatic_GetIgnoreFullPath(FilePath filePath, FileHolder fileHolder) =>
GetIgnoreFullPath(filePath, fileHolder);

View File

@ -6,7 +6,7 @@ namespace View_by_Distance.Shared.Models.Stateless.Methods;
public interface IRename
{
(ReadOnlyCollection<string>, FilePath?) ConvertAndGetFfmpegFiles(IRenameConfiguration renameConfiguration, FilePath filePath);
ReadOnlyCollection<string> ConvertAndGetFfmpegFiles(IRenameConfiguration renameConfiguration, FilePath filePath);
DeterministicHashCode GetDeterministicHashCode(FilePath filePath);
void Tick();

View File

@ -67,12 +67,20 @@ internal abstract class XDate
foreach (QuickTimeMovieHeaderDirectory quickTimeMovieHeaderDirectory in exifDirectory.QuickTimeMovieHeaderDirectories)
{
if (quickTimeMovieHeaderDirectory.Created is not null)
{
if (quickTimeMovieHeaderDirectory.Created.Value.Year == 1904 && quickTimeMovieHeaderDirectory.Created.Value.Month == 1 && quickTimeMovieHeaderDirectory.Created.Value.Day == 1)
continue;
results.Add(quickTimeMovieHeaderDirectory.Created.Value);
}
}
foreach (QuickTimeTrackHeaderDirectory quickTimeTrackHeaderDirectory in exifDirectory.QuickTimeTrackHeaderDirectories)
{
if (quickTimeTrackHeaderDirectory.Created is not null)
{
if ((quickTimeTrackHeaderDirectory.Created.Value.Year is 1904 or 1970) && quickTimeTrackHeaderDirectory.Created.Value.Month == 1 && quickTimeTrackHeaderDirectory.Created.Value.Day == 1)
continue;
results.Add(quickTimeTrackHeaderDirectory.Created.Value);
}
}
result = results.Count == 0 ? null : results.Min();
return result;
@ -146,12 +154,20 @@ internal abstract class XDate
foreach (QuickTimeMovieHeaderDirectory quickTimeMovieHeaderDirectory in exifDirectory.QuickTimeMovieHeaderDirectories)
{
if (quickTimeMovieHeaderDirectory.Created is not null)
{
if (quickTimeMovieHeaderDirectory.Created.Value.Year == 1904 && quickTimeMovieHeaderDirectory.Created.Value.Month == 1 && quickTimeMovieHeaderDirectory.Created.Value.Day == 1)
continue;
results.Add(quickTimeMovieHeaderDirectory.Created.Value);
}
}
foreach (QuickTimeTrackHeaderDirectory quickTimeTrackHeaderDirectory in exifDirectory.QuickTimeTrackHeaderDirectories)
{
if (quickTimeTrackHeaderDirectory.Created is not null)
{
if ((quickTimeTrackHeaderDirectory.Created.Value.Year is 1904 or 1970) && quickTimeTrackHeaderDirectory.Created.Value.Month == 1 && quickTimeTrackHeaderDirectory.Created.Value.Day == 1)
continue;
results.Add(quickTimeTrackHeaderDirectory.Created.Value);
}
}
if (results.Count == 0)
{