86 lines
5.1 KiB
C#
86 lines
5.1 KiB
C#
using MetadataExtractor;
|
|
using System.Collections.ObjectModel;
|
|
using Phares.Shared.Models;
|
|
using Phares.Shared.Models.Properties;
|
|
using Phares.Shared.Models.Stateless;
|
|
|
|
namespace Phares.Metadata.Models.Stateless;
|
|
|
|
public interface IMetadata
|
|
{
|
|
|
|
enum DistanceUnit
|
|
{
|
|
Miles,
|
|
NauticalMiles,
|
|
Kilometers,
|
|
Meters
|
|
}
|
|
|
|
public static FaceFile? GetFaceFile(ExifDirectory? exifDirectory) =>
|
|
Face.GetFaceFile(exifDirectory);
|
|
|
|
public static GeoLocation? GeoLocation(ExifDirectory? exifDirectory) =>
|
|
GPS.GeoLocation(exifDirectory?.GpsDirectories);
|
|
|
|
public static string? GetRawFaceEncoding(ExifDirectory? exifDirectory) =>
|
|
Face.GetFaceEncoding(exifDirectory?.PngDirectories);
|
|
|
|
public static FaceEncoding? GetFaceEncoding(ExifDirectory? exifDirectory) =>
|
|
Face.GetFaceEncoding(exifDirectory);
|
|
|
|
public static ReadOnlyDictionary<string, List<FileHolder>> GetKeyValuePairs(IEnumerable<string> files) =>
|
|
Get.GetKeyValuePairs(files);
|
|
|
|
public static ReadOnlyDictionary<string, List<FileHolder>> GetKeyValuePairs(IEnumerable<NginxFileSystem> collection) =>
|
|
Get.GetKeyValuePairs(collection);
|
|
|
|
public static ExifDirectory? GetExifDirectory(ResultSettings resultSettings, MetadataSettings metadataSettings, FileInfo fileInfo) =>
|
|
Exif.GetExifDirectory(resultSettings, metadataSettings, fileInfo);
|
|
|
|
public static ExifDirectory GetExifDirectory(FilePath filePath, Stream stream, PersonKeyFormattedAndKeyTicksAndDisplayDirectoryName? personKeyFormattedAndKeyTicksAndDisplayDirectoryName) =>
|
|
Exif.GetExifDirectory(filePath, stream, personKeyFormattedAndKeyTicksAndDisplayDirectoryName);
|
|
|
|
public static double? GetDistance(double originLatitude, double originLongitude, double destinationLatitude, double destinationLongitude, int decimalPlaces = 1, DistanceUnit distanceUnit = DistanceUnit.Miles) =>
|
|
GPS.GetDistance(originLatitude, originLongitude, destinationLatitude, destinationLongitude, decimalPlaces, distanceUnit);
|
|
|
|
public static Action<string> SetExifDirectoryCollection(IRename rename, ResultSettings resultSettings, MetadataSettings metadataSettings, IRenameSettings renameSettings, A_Metadata metadata, List<string> distinct, List<MetadataGroup> metadataGroups) =>
|
|
Get.SetExifDirectoryCollection(rename, resultSettings, metadataSettings, renameSettings, metadata, distinct, metadataGroups);
|
|
|
|
public static Action<string> SetExifDirectoryCollection(IWindows windows, ResultSettings resultSettings, MetadataSettings metadataSettings, A_Metadata metadata, List<string> distinct, List<MetadataGroup> metadataGroups) =>
|
|
Get.SetExifDirectoryCollection(windows, resultSettings, metadataSettings, metadata, distinct, metadataGroups);
|
|
|
|
internal GeoLocation? TestStatic_GeoLocation(ExifDirectory? exifDirectory) =>
|
|
GeoLocation(exifDirectory);
|
|
|
|
internal string? TestStatic_GetRawFaceEncoding(ExifDirectory? exifDirectory) =>
|
|
GetRawFaceEncoding(exifDirectory);
|
|
|
|
internal static FaceFile? TestStatic_GetFaceFile(ExifDirectory? exifDirectory) =>
|
|
GetFaceFile(exifDirectory);
|
|
|
|
internal static FaceEncoding? TestStatic_GetFaceEncoding(ExifDirectory? exifDirectory) =>
|
|
GetFaceEncoding(exifDirectory);
|
|
|
|
internal ReadOnlyDictionary<string, List<FileHolder>> TestStatic_GetKeyValuePairs(IEnumerable<string> files) =>
|
|
GetKeyValuePairs(files);
|
|
|
|
internal ReadOnlyDictionary<string, List<FileHolder>> TestStatic_GetKeyValuePairs(IEnumerable<NginxFileSystem> collection) =>
|
|
GetKeyValuePairs(collection);
|
|
|
|
internal ExifDirectory? TestStatic_GetExifDirectory(ResultSettings resultSettings, MetadataSettings metadataSettings, FileInfo fileInfo) =>
|
|
GetExifDirectory(resultSettings, metadataSettings, fileInfo);
|
|
|
|
internal ExifDirectory TestStatic_GetExifDirectory(FilePath filePath, Stream stream, PersonKeyFormattedAndKeyTicksAndDisplayDirectoryName? personKeyFormattedAndKeyTicksAndDisplayDirectoryName) =>
|
|
GetExifDirectory(filePath, stream, personKeyFormattedAndKeyTicksAndDisplayDirectoryName);
|
|
|
|
internal double? TestStatic_GetDistance(double originLatitude, double originLongitude, double destinationLatitude, double destinationLongitude, int decimalPlaces = 1, DistanceUnit distanceUnit = DistanceUnit.Miles) =>
|
|
GetDistance(originLatitude, originLongitude, destinationLatitude, destinationLongitude, decimalPlaces, distanceUnit);
|
|
|
|
internal Action<string> TestStatic_SetExifDirectoryCollection(IWindows windows, ResultSettings resultSettings, MetadataSettings metadataSettings, A_Metadata metadata, List<string> distinct, List<MetadataGroup> metadataGroups) =>
|
|
SetExifDirectoryCollection(windows, resultSettings, metadataSettings, metadata, distinct, metadataGroups);
|
|
|
|
internal Action<string> TestStatic_SetExifDirectoryCollection(IRename rename, ResultSettings resultSettings, MetadataSettings metadataSettings, IRenameSettings renameSettings, A_Metadata metadata, List<string> distinct, List<MetadataGroup> metadataGroups) =>
|
|
SetExifDirectoryCollection(rename, resultSettings, metadataSettings, renameSettings, metadata, distinct, metadataGroups);
|
|
|
|
} |