Rename files to padded number string
This commit is contained in:
@ -3,11 +3,6 @@ namespace View_by_Distance.Metadata.Models.Stateless.Methods;
|
||||
public interface IMetadata
|
||||
{
|
||||
|
||||
(DateTime?, DateTime?[]) TestStatic_GetDateTimes(Shared.Models.FileHolder fileHolder, IReadOnlyList<MetadataExtractor.Directory> directories) =>
|
||||
GetDateTimes(fileHolder, directories);
|
||||
static (DateTime?, DateTime?[]) GetDateTimes(Shared.Models.FileHolder fileHolder, IReadOnlyList<MetadataExtractor.Directory> directories) =>
|
||||
Metadata.GetDateTimes(fileHolder, directories);
|
||||
|
||||
string? TestStatic_GetModel(IReadOnlyList<MetadataExtractor.Directory> directories) =>
|
||||
GetModel(directories);
|
||||
static string? GetModel(IReadOnlyList<MetadataExtractor.Directory> directories) =>
|
||||
|
@ -1,7 +1,5 @@
|
||||
using MetadataExtractor;
|
||||
using MetadataExtractor.Formats.Avi;
|
||||
using MetadataExtractor.Formats.Exif;
|
||||
using MetadataExtractor.Formats.QuickTime;
|
||||
using View_by_Distance.Shared.Models.Stateless;
|
||||
|
||||
namespace View_by_Distance.Metadata.Models.Stateless.Methods;
|
||||
@ -53,106 +51,6 @@ internal class Metadata
|
||||
return result;
|
||||
}
|
||||
|
||||
internal static (DateTime?, DateTime?[]) GetDateTimes(Shared.Models.FileHolder fileHolder, IReadOnlyList<MetadataExtractor.Directory> directories)
|
||||
{
|
||||
List<DateTime?> results = new();
|
||||
DateTime? result = null;
|
||||
DateTime? dateTime;
|
||||
DateTime checkDateTime;
|
||||
string dateTimeFormat = Shared.Models.Stateless.Methods.IProperty.DateTimeFormat();
|
||||
ExifDirectoryBase? exifDirectoryBase = directories.OfType<ExifDirectoryBase>().FirstOrDefault();
|
||||
results.Add(fileHolder.CreationTime);
|
||||
results.Add(fileHolder.LastWriteTime);
|
||||
if (exifDirectoryBase is not null)
|
||||
{
|
||||
if (exifDirectoryBase.TryGetDateTime(ExifDirectoryBase.TagDateTime, out checkDateTime))
|
||||
results.Add(checkDateTime);
|
||||
else
|
||||
{
|
||||
dateTime = Shared.Models.Stateless.Methods.IProperty.GetDateTime(dateTimeFormat, exifDirectoryBase.GetString(ExifDirectoryBase.TagDateTime));
|
||||
if (dateTime is not null)
|
||||
results.Add(dateTime.Value);
|
||||
}
|
||||
if (exifDirectoryBase.TryGetDateTime(ExifDirectoryBase.TagDateTimeDigitized, out checkDateTime))
|
||||
results.Add(checkDateTime);
|
||||
else
|
||||
{
|
||||
dateTime = Shared.Models.Stateless.Methods.IProperty.GetDateTime(dateTimeFormat, exifDirectoryBase.GetString(ExifDirectoryBase.TagDateTimeDigitized));
|
||||
if (dateTime is not null)
|
||||
results.Add(dateTime.Value);
|
||||
}
|
||||
if (exifDirectoryBase.TryGetDateTime(ExifDirectoryBase.TagDateTimeOriginal, out checkDateTime))
|
||||
{
|
||||
result ??= checkDateTime;
|
||||
results.Add(checkDateTime);
|
||||
}
|
||||
else
|
||||
{
|
||||
dateTime = Shared.Models.Stateless.Methods.IProperty.GetDateTime(dateTimeFormat, exifDirectoryBase.GetString(ExifDirectoryBase.TagDateTimeOriginal));
|
||||
if (dateTime is not null)
|
||||
{
|
||||
result ??= dateTime.Value;
|
||||
results.Add(dateTime.Value);
|
||||
}
|
||||
}
|
||||
}
|
||||
AviDirectory? aviDirectory = directories.OfType<AviDirectory>().FirstOrDefault();
|
||||
if (aviDirectory is not null)
|
||||
{
|
||||
if (aviDirectory.TryGetDateTime(AviDirectory.TagDateTimeOriginal, out checkDateTime))
|
||||
{
|
||||
result ??= checkDateTime;
|
||||
results.Add(checkDateTime);
|
||||
}
|
||||
else
|
||||
{
|
||||
dateTime = Shared.Models.Stateless.Methods.IProperty.GetDateTime(dateTimeFormat, aviDirectory.GetString(AviDirectory.TagDateTimeOriginal));
|
||||
if (dateTime is not null)
|
||||
{
|
||||
result ??= dateTime.Value;
|
||||
results.Add(dateTime.Value);
|
||||
}
|
||||
}
|
||||
}
|
||||
QuickTimeMovieHeaderDirectory? quickTimeMovieHeaderDirectory = directories.OfType<QuickTimeMovieHeaderDirectory>().FirstOrDefault();
|
||||
if (quickTimeMovieHeaderDirectory is not null)
|
||||
{
|
||||
if (quickTimeMovieHeaderDirectory.TryGetDateTime(QuickTimeMovieHeaderDirectory.TagCreated, out checkDateTime))
|
||||
{
|
||||
result ??= checkDateTime;
|
||||
results.Add(checkDateTime);
|
||||
}
|
||||
else
|
||||
{
|
||||
dateTime = Shared.Models.Stateless.Methods.IProperty.GetDateTime(dateTimeFormat, quickTimeMovieHeaderDirectory.GetString(QuickTimeMovieHeaderDirectory.TagCreated));
|
||||
if (dateTime is not null)
|
||||
{
|
||||
result ??= dateTime.Value;
|
||||
results.Add(dateTime.Value);
|
||||
}
|
||||
}
|
||||
}
|
||||
QuickTimeTrackHeaderDirectory? quickTimeTrackHeaderDirectory = directories.OfType<QuickTimeTrackHeaderDirectory>().FirstOrDefault();
|
||||
if (quickTimeTrackHeaderDirectory is not null)
|
||||
{
|
||||
if (quickTimeTrackHeaderDirectory.TryGetDateTime(QuickTimeTrackHeaderDirectory.TagCreated, out checkDateTime))
|
||||
{
|
||||
result ??= checkDateTime;
|
||||
results.Add(checkDateTime);
|
||||
}
|
||||
else
|
||||
{
|
||||
dateTime = Shared.Models.Stateless.Methods.IProperty.GetDateTime(dateTimeFormat, quickTimeTrackHeaderDirectory.GetString(QuickTimeTrackHeaderDirectory.TagCreated));
|
||||
if (dateTime is not null)
|
||||
{
|
||||
result ??= dateTime.Value;
|
||||
results.Add(dateTime.Value);
|
||||
}
|
||||
}
|
||||
}
|
||||
return new(result, results.ToArray());
|
||||
}
|
||||
|
||||
internal static string? GetModel(IReadOnlyList<MetadataExtractor.Directory> directories)
|
||||
{
|
||||
string? result;
|
||||
|
Reference in New Issue
Block a user