This commit is contained in:
2023-12-26 18:27:37 -07:00
parent c2c711673f
commit ec22446643
37 changed files with 1279 additions and 932 deletions

View File

@ -194,11 +194,11 @@ public partial class MapLogic : Shared.Models.Methods.IMapLogic
private void LookForAbandoned(Property.Models.Configuration propertyConfiguration, List<int> distinctFilteredIds)
{
List<string> renameCollection = [];
foreach (KeyValuePair<int, List<LocationContainer<MetadataExtractor.Directory>>> keyValuePair in _IdToLocationContainers)
foreach (KeyValuePair<int, List<LocationContainer>> keyValuePair in _IdToLocationContainers)
{
if (distinctFilteredIds.Contains(keyValuePair.Key))
continue;
foreach (LocationContainer<MetadataExtractor.Directory> locationContainer in keyValuePair.Value)
foreach (LocationContainer locationContainer in keyValuePair.Value)
{
if (locationContainer.FilePath.FullName.Contains('!'))
continue;
@ -217,10 +217,10 @@ public partial class MapLogic : Shared.Models.Methods.IMapLogic
private readonly ReadOnlyDictionary<int, List<int>> _SkipCollection;
private readonly ReadOnlyDictionary<int, List<int>> _SkipNotSkipCollection;
private readonly Shared.Models.Properties.IPropertyConfiguration _PropertyConfiguration;
private readonly ReadOnlyDictionary<int, List<LocationContainer<MetadataExtractor.Directory>>> _IdToLocationContainers;
private readonly ReadOnlyDictionary<int, List<LocationContainer>> _IdToLocationContainers;
private readonly ReadOnlyDictionary<int, ReadOnlyDictionary<int, ReadOnlyCollection<PersonContainer>>> _IdThenWholePercentagesToPersonContainers;
public MapLogic(int maxDegreeOfParallelism, Shared.Models.Properties.IPropertyConfiguration propertyConfiguration, Configuration? configuration, Shared.Models.Methods.IDistance<MetadataExtractor.Directory> distance, ReadOnlyCollection<PersonContainer> personContainers, long ticks, string? a2PeopleContentDirectory, string a2PeopleSingletonDirectory, string eDistanceContentDirectory)
public MapLogic(int maxDegreeOfParallelism, Shared.Models.Properties.IPropertyConfiguration propertyConfiguration, Configuration? configuration, Shared.Models.Methods.IDistance distance, ReadOnlyCollection<PersonContainer> personContainers, long ticks, string? a2PeopleContentDirectory, string a2PeopleSingletonDirectory, string eDistanceContentDirectory)
{
_Ticks = ticks;
_Configuration = configuration;
@ -229,7 +229,7 @@ public partial class MapLogic : Shared.Models.Methods.IMapLogic
List<PersonContainer> notMappedPersonContainers = [];
Dictionary<int, List<(string, int)>> skipCollection = [];
Dictionary<int, List<(string, int)>> skipNotSkipCollection = [];
List<LocationContainer<MetadataExtractor.Directory>> locationContainers = [];
List<LocationContainer> locationContainers = [];
string? rootDirectoryParent = Path.GetDirectoryName(propertyConfiguration.RootDirectory);
string eDistanceContentTicksDirectory = Path.Combine(eDistanceContentDirectory, ticks.ToString());
ReadOnlyDictionary<int, ReadOnlyDictionary<int, ReadOnlyCollection<PersonContainer>>> idThenWholePercentagesToPersonContainers;
@ -332,14 +332,14 @@ public partial class MapLogic : Shared.Models.Methods.IMapLogic
return result;
}
public ReadOnlyCollection<LocationContainer<MetadataExtractor.Directory>> GetLocationContainers(Item item)
public ReadOnlyCollection<LocationContainer> GetLocationContainers(Item item)
{
LocationContainer<MetadataExtractor.Directory>[] results;
LocationContainer[] results;
if (item.Property?.Id is null)
results = [];
else
{
List<LocationContainer<MetadataExtractor.Directory>>? locationContainers;
List<LocationContainer>? locationContainers;
if (_IdToLocationContainers.TryGetValue(item.Property.Id.Value, out locationContainers))
results = locationContainers.ToArray();
else
@ -678,17 +678,17 @@ public partial class MapLogic : Shared.Models.Methods.IMapLogic
if (j == i)
continue;
if (face.Mapping.MappingFromFilterPre.InSkipCollection is not null && face.Mapping.MappingFromFilterPre.InSkipCollection.Value)
throw new NotSupportedException(nameof(Shared.Models.Methods.IDistance<object>));
throw new NotSupportedException(nameof(Shared.Models.Methods.IDistance));
if (face.Mapping.MappingFromFilterPre.IsFocusModel is not null && !face.Mapping.MappingFromFilterPre.IsFocusModel.Value)
throw new NotSupportedException(nameof(Shared.Models.Methods.IDistance<object>));
throw new NotSupportedException(nameof(Shared.Models.Methods.IDistance));
if (face.Mapping.MappingFromFilterPre.IsFocusRelativePath is not null && !face.Mapping.MappingFromFilterPre.IsFocusRelativePath.Value)
throw new NotSupportedException(nameof(Shared.Models.Methods.IDistance<object>));
throw new NotSupportedException(nameof(Shared.Models.Methods.IDistance));
if (face.Mapping.MappingFromFilterPost.InSkipCollection is not null && face.Mapping.MappingFromFilterPost.InSkipCollection.Value)
throw new NotSupportedException(nameof(Shared.Models.Methods.IDistance<object>));
throw new NotSupportedException(nameof(Shared.Models.Methods.IDistance));
if (face.Mapping.MappingFromFilterPost.IsFocusPerson is not null && !face.Mapping.MappingFromFilterPost.IsFocusPerson.Value)
throw new NotSupportedException(nameof(Shared.Models.Methods.IDistance<object>));
throw new NotSupportedException(nameof(Shared.Models.Methods.IDistance));
if (face.Mapping.MappingFromFilterPost.InSkipCollection is not null && face.Mapping.MappingFromFilterPost.InSkipCollection.Value)
throw new NotSupportedException(nameof(Shared.Models.Methods.IDistance<object>));
throw new NotSupportedException(nameof(Shared.Models.Methods.IDistance));
faceDistanceLength = faceDistanceLengths[j];
if (faceDistanceLength.WholePercentages is null || faceDistanceLength.Length is null)
throw new NotSupportedException();