Closest is usable with

NamedDeterministicHashCodeIdAndFaceLocationIndex
This commit is contained in:
2022-08-14 19:52:30 -07:00
parent e4f422cf7e
commit 004017b9dd
13 changed files with 325 additions and 208 deletions

View File

@ -5,25 +5,37 @@ namespace View_by_Distance.Property.Models.Stateless;
public interface IResult
{
public const string Content = "()";
public const string Singleton = "{}";
public const string Collection = "[]";
public const string AllInOne = "_ _ _";
string TestStatic_GetRelativePath(Models.Configuration configuration, string path);
static string GetRelativePath(Models.Configuration configuration, string path) => Result.GetRelativePath(configuration, path);
static string GetRelativePath(Models.Configuration configuration, string path)
=> Result.GetRelativePath(configuration, path);
string TestStatic_GetResultsGroupDirectory(Models.Configuration configuration, string description);
static string GetResultsGroupDirectory(Models.Configuration configuration, string description) => Result.GetResultsGroupDirectory(configuration, description);
static string GetResultsGroupDirectory(Models.Configuration configuration, string description)
=> Result.GetResultsGroupDirectory(configuration, description);
string TestStatic_GetResultsDateGroupDirectory(Models.Configuration configuration, string description);
static string GetResultsDateGroupDirectory(Models.Configuration configuration, string description) => Result.GetResultsDateGroupDirectory(configuration, description);
static string GetResultsDateGroupDirectory(Models.Configuration configuration, string description)
=> Result.GetResultsDateGroupDirectory(configuration, description);
string TestStatic_GetResultsDateGroupDirectory(Models.Configuration configuration, string description, string jsonGroup);
static string GetResultsDateGroupDirectory(Models.Configuration configuration, string description, string jsonGroup) => Result.GetResultsDateGroupDirectory(configuration, description, jsonGroup);
static string GetResultsDateGroupDirectory(Models.Configuration configuration, string description, string jsonGroup)
=> Result.GetResultsDateGroupDirectory(configuration, description, jsonGroup);
List<string> TestStatic_GetDirectoryInfoCollection(Models.Configuration configuration, string sourceDirectory, string dateGroupDirectory, string contentDescription, string singletonDescription, string collectionDescription);
static List<string> GetDirectoryInfoCollection(Models.Configuration configuration, string sourceDirectory, string dateGroupDirectory, string contentDescription, string singletonDescription, string collectionDescription) => Result.GetDirectoryInfoCollection(configuration, sourceDirectory, dateGroupDirectory, contentDescription, singletonDescription, collectionDescription);
static List<string> GetDirectoryInfoCollection(Models.Configuration configuration, string sourceDirectory, string dateGroupDirectory, string contentDescription, string singletonDescription, string collectionDescription, bool converted)
=> Result.GetDirectoryInfoCollection(configuration, sourceDirectory, dateGroupDirectory, contentDescription, singletonDescription, collectionDescription, converted);
string TestStatic_GetResultsFullGroupDirectory(Models.Configuration configuration, Model? model, PredictorModel? predictorModel, string description, string outputResolution, bool includeResizeGroup, bool includeModel, bool includePredictorModel);
static string GetResultsFullGroupDirectory(Models.Configuration configuration, Model? model, PredictorModel? predictorModel, string description, string outputResolution, bool includeResizeGroup, bool includeModel, bool includePredictorModel) => Result.GetResultsFullGroupDirectory(configuration, model, predictorModel, description, outputResolution, includeResizeGroup, includeModel, includePredictorModel);
static string GetResultsFullGroupDirectory(Models.Configuration configuration, Model? model, PredictorModel? predictorModel, string description, string outputResolution, bool includeResizeGroup, bool includeModel, bool includePredictorModel)
=> Result.GetResultsFullGroupDirectory(configuration, model, predictorModel, description, outputResolution, includeResizeGroup, includeModel, includePredictorModel);
List<string> TestStatic_GetDirectoryInfoCollection(Models.Configuration configuration, Model? model, PredictorModel? predictorModel, string sourceDirectory, string description, string outputResolution, bool includeResizeGroup, bool includeModel, bool includePredictorModel, string contentDescription, string singletonDescription, string collectionDescription);
static List<string> GetDirectoryInfoCollection(Models.Configuration configuration, Model? model, PredictorModel? predictorModel, string sourceDirectory, string description, string outputResolution, bool includeResizeGroup, bool includeModel, bool includePredictorModel, string contentDescription, string singletonDescription, string collectionDescription) => Result.GetDirectoryInfoCollection(configuration, model, predictorModel, sourceDirectory, description, outputResolution, includeResizeGroup, includeModel, includePredictorModel, contentDescription, singletonDescription, collectionDescription);
static List<string> GetDirectoryInfoCollection(Models.Configuration configuration, Model? model, PredictorModel? predictorModel, string sourceDirectory, string description, string outputResolution, bool includeResizeGroup, bool includeModel, bool includePredictorModel, string contentDescription, string singletonDescription, string collectionDescription)
=> Result.GetDirectoryInfoCollection(configuration, model, predictorModel, sourceDirectory, description, outputResolution, includeResizeGroup, includeModel, includePredictorModel, contentDescription, singletonDescription, collectionDescription);
}

View File

@ -64,20 +64,18 @@ internal class Result
return result;
}
internal static List<string> GetDirectoryInfoCollection(Models.Configuration configuration, string sourceDirectory, string dateGroupDirectory, string contentDescription, string singletonDescription, string collectionDescription)
internal static List<string> GetDirectoryInfoCollection(Models.Configuration configuration, string sourceDirectory, string dateGroupDirectory, string contentDescription, string singletonDescription, string collectionDescription, bool converted)
{
List<string> results = new();
string result = string.Empty;
string checkDirectory;
const string allInOne = "_ _ _";
string sourceDirectorySegment = GetRelativePath(configuration, sourceDirectory);
string result = string.Concat(Path.Combine(dateGroupDirectory, "<>"), sourceDirectorySegment);
if (!string.IsNullOrEmpty(contentDescription))
{
checkDirectory = Path.Combine(dateGroupDirectory, "()", allInOne);
checkDirectory = Path.Combine(dateGroupDirectory, IResult.Content, IResult.AllInOne);
if (!Directory.Exists(checkDirectory))
_ = Directory.CreateDirectory(checkDirectory);
result = string.Concat(Path.Combine(dateGroupDirectory, "<>"), sourceDirectorySegment);
string contentDirectory = new(result.Replace("<>", "()"));
string contentDirectory = new(result.Replace("<>", IResult.Content));
if (!Directory.Exists(contentDirectory))
_ = Directory.CreateDirectory(contentDirectory);
checkDirectory = Path.Combine(dateGroupDirectory, string.Concat("() - ", contentDescription));
@ -86,76 +84,44 @@ internal class Result
}
if (!string.IsNullOrEmpty(singletonDescription))
{
checkDirectory = Path.Combine(dateGroupDirectory, "{}", allInOne);
checkDirectory = Path.Combine(dateGroupDirectory, IResult.Singleton, IResult.AllInOne);
if (!Directory.Exists(checkDirectory))
_ = Directory.CreateDirectory(checkDirectory);
result = string.Concat(Path.Combine(dateGroupDirectory, "<>"), sourceDirectorySegment);
string singletonDirectory = new(result.Replace("<>", "{}"));
if (!Directory.Exists(singletonDirectory))
_ = Directory.CreateDirectory(singletonDirectory);
if (!converted)
{
string singletonDirectory = new(result.Replace("<>", IResult.Singleton));
if (!Directory.Exists(singletonDirectory))
_ = Directory.CreateDirectory(singletonDirectory);
}
checkDirectory = Path.Combine(dateGroupDirectory, string.Concat("{} - ", singletonDescription));
if (!Directory.Exists(checkDirectory))
_ = Directory.CreateDirectory(checkDirectory);
}
if (!string.IsNullOrEmpty(collectionDescription))
{
checkDirectory = Path.Combine(dateGroupDirectory, "[]", allInOne);
checkDirectory = Path.Combine(dateGroupDirectory, IResult.Collection, IResult.AllInOne);
if (!Directory.Exists(checkDirectory))
_ = Directory.CreateDirectory(checkDirectory);
result = string.Concat(Path.Combine(dateGroupDirectory, "<>"), sourceDirectorySegment);
string collectionDirectory = new(result.Replace("<>", "[]"));
if (!Directory.Exists(collectionDirectory))
_ = Directory.CreateDirectory(collectionDirectory);
if (!converted)
{
string collectionDirectory = new(result.Replace("<>", IResult.Collection));
if (!Directory.Exists(collectionDirectory))
_ = Directory.CreateDirectory(collectionDirectory);
}
checkDirectory = Path.Combine(dateGroupDirectory, string.Concat("[] - ", collectionDescription));
if (!Directory.Exists(checkDirectory))
_ = Directory.CreateDirectory(checkDirectory);
}
if (string.IsNullOrEmpty(result))
throw new Exception();
results.Add(result);
return results;
}
internal static List<string> GetDirectoryInfoCollection(Models.Configuration configuration, Model? model, PredictorModel? predictorModel, string sourceDirectory, string description, string outputResolution, bool includeResizeGroup, bool includeModel, bool includePredictorModel, string contentDescription, string singletonDescription, string collectionDescription)
{
List<string> results = new();
string result = string.Empty;
string checkDirectory;
string sourceDirectorySegment = GetRelativePath(configuration, sourceDirectory);
List<string> results;
bool converted = false;
string dateGroupDirectory = GetResultsFullGroupDirectory(configuration, model, predictorModel, description, outputResolution, includeResizeGroup, includeModel, includePredictorModel);
if (!string.IsNullOrEmpty(contentDescription))
{
result = string.Concat(Path.Combine(dateGroupDirectory, "<>"), sourceDirectorySegment);
System.IO.DirectoryInfo contentDirectoryInfo = new(result.Replace("<>", "()"));
if (!contentDirectoryInfo.Exists)
contentDirectoryInfo.Create();
checkDirectory = Path.Combine(dateGroupDirectory, string.Concat("() - ", contentDescription));
if (!Directory.Exists(checkDirectory))
_ = Directory.CreateDirectory(checkDirectory);
}
if (!string.IsNullOrEmpty(singletonDescription))
{
result = string.Concat(Path.Combine(dateGroupDirectory, "<>"), sourceDirectorySegment);
System.IO.DirectoryInfo singletonDirectoryInfo = new(result.Replace("<>", "{}"));
if (!singletonDirectoryInfo.Exists)
singletonDirectoryInfo.Create();
checkDirectory = Path.Combine(dateGroupDirectory, string.Concat("{} - ", singletonDescription));
if (!Directory.Exists(checkDirectory))
_ = Directory.CreateDirectory(checkDirectory);
}
if (!string.IsNullOrEmpty(collectionDescription))
{
result = string.Concat(Path.Combine(dateGroupDirectory, "<>"), sourceDirectorySegment);
System.IO.DirectoryInfo collectionDirectoryInfo = new(result.Replace("<>", "[]"));
if (!collectionDirectoryInfo.Exists)
collectionDirectoryInfo.Create();
checkDirectory = Path.Combine(dateGroupDirectory, string.Concat("[] - ", collectionDescription));
if (!Directory.Exists(checkDirectory))
_ = Directory.CreateDirectory(checkDirectory);
}
if (string.IsNullOrEmpty(result))
throw new Exception();
results.Add(result);
results = GetDirectoryInfoCollection(configuration, sourceDirectory, dateGroupDirectory, contentDescription, singletonDescription, collectionDescription, converted);
return results;
}