Sorting without ... improvements
This commit is contained in:
@ -3,14 +3,14 @@ namespace View_by_Distance.Metadata.Models.Stateless;
|
||||
public interface IMetadata
|
||||
{
|
||||
|
||||
string? TestStatic_GetFaceEncoding(string file) =>
|
||||
GetFaceEncoding(file);
|
||||
static string? GetFaceEncoding(string file) =>
|
||||
Metadata.GetFaceEncoding(file);
|
||||
string? TestStatic_GetFaceEncoding(IReadOnlyList<MetadataExtractor.Directory> directories) =>
|
||||
GetFaceEncoding(directories);
|
||||
static string? GetFaceEncoding(IReadOnlyList<MetadataExtractor.Directory> directories) =>
|
||||
Metadata.GetFaceEncoding(directories);
|
||||
|
||||
string? TestStatic_GetFaceX(string file) =>
|
||||
GetFaceX(file);
|
||||
static string? GetFaceX(string file) =>
|
||||
Metadata.GetFaceX(file);
|
||||
string? TestStatic_GetFaceX(IReadOnlyList<MetadataExtractor.Directory> directories) =>
|
||||
GetFaceX(directories);
|
||||
static string? GetFaceX(IReadOnlyList<MetadataExtractor.Directory> directories) =>
|
||||
Metadata.GetFaceX(directories);
|
||||
|
||||
}
|
@ -3,52 +3,44 @@ namespace View_by_Distance.Metadata.Models.Stateless;
|
||||
internal class Metadata
|
||||
{
|
||||
|
||||
internal static string? GetFaceEncoding(string file)
|
||||
internal static string? GetFaceEncoding(IReadOnlyList<MetadataExtractor.Directory> directories)
|
||||
{
|
||||
string? result;
|
||||
List<string> results = new();
|
||||
const string comment = "Comment: ";
|
||||
if (File.Exists(file))
|
||||
foreach (MetadataExtractor.Directory directory in directories)
|
||||
{
|
||||
IReadOnlyList<MetadataExtractor.Directory> directories = MetadataExtractor.ImageMetadataReader.ReadMetadata(file);
|
||||
foreach (MetadataExtractor.Directory directory in directories)
|
||||
if (directory.Name != "PNG-tEXt")
|
||||
continue;
|
||||
foreach (MetadataExtractor.Tag tag in directory.Tags)
|
||||
{
|
||||
if (directory.Name != "PNG-tEXt")
|
||||
if (tag.Name != "Textual Data" || string.IsNullOrEmpty(tag.Description))
|
||||
continue;
|
||||
foreach (MetadataExtractor.Tag tag in directory.Tags)
|
||||
{
|
||||
if (tag.Name != "Textual Data" || string.IsNullOrEmpty(tag.Description))
|
||||
continue;
|
||||
if (!tag.Description.StartsWith(comment))
|
||||
continue;
|
||||
results.Add(tag.Description);
|
||||
}
|
||||
if (!tag.Description.StartsWith(comment))
|
||||
continue;
|
||||
results.Add(tag.Description);
|
||||
}
|
||||
}
|
||||
result = results.Any() ? results[0][comment.Length..] : null;
|
||||
return result;
|
||||
}
|
||||
|
||||
internal static string? GetFaceX(string file)
|
||||
internal static string? GetFaceX(IReadOnlyList<MetadataExtractor.Directory> directories)
|
||||
{
|
||||
string? result;
|
||||
List<string> results = new();
|
||||
const string artist = "Artist: ";
|
||||
if (File.Exists(file))
|
||||
foreach (MetadataExtractor.Directory directory in directories)
|
||||
{
|
||||
IReadOnlyList<MetadataExtractor.Directory> directories = MetadataExtractor.ImageMetadataReader.ReadMetadata(file);
|
||||
foreach (MetadataExtractor.Directory directory in directories)
|
||||
if (directory.Name != "PNG-tEXt")
|
||||
continue;
|
||||
foreach (MetadataExtractor.Tag tag in directory.Tags)
|
||||
{
|
||||
if (directory.Name != "PNG-tEXt")
|
||||
if (tag.Name != "Textual Data" || string.IsNullOrEmpty(tag.Description))
|
||||
continue;
|
||||
foreach (MetadataExtractor.Tag tag in directory.Tags)
|
||||
{
|
||||
if (tag.Name != "Textual Data" || string.IsNullOrEmpty(tag.Description))
|
||||
continue;
|
||||
if (!tag.Description.StartsWith(artist))
|
||||
continue;
|
||||
results.Add(tag.Description);
|
||||
}
|
||||
if (!tag.Description.StartsWith(artist))
|
||||
continue;
|
||||
results.Add(tag.Description);
|
||||
}
|
||||
}
|
||||
result = results.Any() ? results[0][artist.Length..] : null;
|
||||
|
Reference in New Issue
Block a user