namespace View_by_Distance.Metadata.Models.Stateless; internal class Metadata { internal static string? GetFaceEncoding(IReadOnlyList directories) { string? result; List results = new(); const string comment = "Comment: "; foreach (MetadataExtractor.Directory directory in directories) { if (directory.Name != "PNG-tEXt") 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); } } result = results.Any() ? results[0][comment.Length..] : null; return result; } internal static string? GetOutputResolution(IReadOnlyList directories) { string? result; List results = new(); const string artist = "Artist: "; foreach (MetadataExtractor.Directory directory in directories) { if (directory.Name != "PNG-tEXt") 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); } } result = results.Any() ? results[0][artist.Length..] : null; return result; } }