IsOffsetDeterministicHashCode
This commit is contained in:
parent
bf2d6849b3
commit
99e3f29720
@ -298,8 +298,8 @@ public partial class DlibDotNet
|
||||
ReadOnlyCollection<int>? notNineCollection = null;
|
||||
ReadOnlyDictionary<long, List<int>> personKeyToIds;
|
||||
ReadOnlyCollection<string[]>? filesCollection = null;
|
||||
bool runToDoCollectionFirst = GetRunToDoCollectionFirst(ticks);
|
||||
(aResultsFullGroupDirectory, bResultsFullGroupDirectory) = GetResultsFullGroupDirectories();
|
||||
bool runToDoCollectionFirst = GetRunToDoCollectionFirst(_Configuration.PropertyConfiguration, ticks);
|
||||
ProgressBarOptions options = new() { ProgressCharacter = '─', ProgressBarOnBottom = true, DisableBottomPercentage = true };
|
||||
Shared.Models.Stateless.Methods.IPath.ChangeDateForEmptyDirectories(_Configuration.PropertyConfiguration.RootDirectory, ticks);
|
||||
a2PeopleContentDirectory = Property.Models.Stateless.IResult.GetResultsDateGroupDirectory(_Configuration.PropertyConfiguration, nameof(A2_People), "([])");
|
||||
@ -432,9 +432,11 @@ public partial class DlibDotNet
|
||||
}
|
||||
}
|
||||
|
||||
private bool GetRunToDoCollectionFirst(long ticks)
|
||||
private bool GetRunToDoCollectionFirst(Property.Models.Configuration propertyConfiguration, long ticks)
|
||||
{
|
||||
bool result = IId.IsOffsetDeterministicHashCode(propertyConfiguration);
|
||||
if (!result)
|
||||
{
|
||||
bool result = false;
|
||||
string[] directories;
|
||||
directories = Directory.GetDirectories(_Configuration.PropertyConfiguration.RootDirectory, "*", SearchOption.TopDirectoryOnly);
|
||||
if (directories.Length == 0)
|
||||
@ -477,6 +479,7 @@ public partial class DlibDotNet
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (result)
|
||||
result = true;
|
||||
if (!result)
|
||||
|
@ -3,6 +3,11 @@ namespace View_by_Distance.Shared.Models.Stateless.Methods;
|
||||
public interface IId
|
||||
{ // ...
|
||||
|
||||
const int DeterministicHashCode = 9876543;
|
||||
|
||||
static bool IsOffsetDeterministicHashCode(Properties.IPropertyConfiguration propertyConfiguration) =>
|
||||
propertyConfiguration.Offset == DeterministicHashCode;
|
||||
|
||||
string TestStatic_GetIntelligentId(Properties.IPropertyConfiguration propertyConfiguration, long id, bool? ignore) =>
|
||||
GetIntelligentId(propertyConfiguration, id, ignore);
|
||||
static string GetIntelligentId(Properties.IPropertyConfiguration propertyConfiguration, long id, bool? ignore) =>
|
||||
|
@ -73,7 +73,7 @@ internal abstract class Id
|
||||
int check = GetId(propertyConfiguration, intelligentId);
|
||||
if (check != id)
|
||||
throw new NotSupportedException();
|
||||
result = index is null || propertyConfiguration.Offset == 9876543 ? intelligentId : $"{propertyConfiguration.Offset + index}{intelligentId}";
|
||||
result = index is null || propertyConfiguration.Offset == IId.DeterministicHashCode ? intelligentId : $"{propertyConfiguration.Offset + index}{intelligentId}";
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
@ -301,6 +301,7 @@ internal abstract partial class XDirectory
|
||||
Models.FileHolder fileHolder;
|
||||
List<string> distinctDirectories = [];
|
||||
FilePath[] sortedRecords = GetSortedRecords(propertyConfiguration, filesCollection);
|
||||
bool isOffsetDeterministicHashCode = IId.IsOffsetDeterministicHashCode(propertyConfiguration);
|
||||
for (int i = 0; i < sortedRecords.Length; i++)
|
||||
{
|
||||
tick?.Invoke();
|
||||
@ -342,7 +343,21 @@ internal abstract partial class XDirectory
|
||||
if (filePath.Id is null)
|
||||
throw new NullReferenceException(nameof(filePath.Id));
|
||||
intelligentId = IId.GetIntelligentId(propertyConfiguration, filePath.Id.Value, filePath.IsIgnore);
|
||||
if (!isOffsetDeterministicHashCode)
|
||||
checkFile = Path.Combine(directory, $"{intelligentId}{filePath.ExtensionLowered}");
|
||||
else
|
||||
{
|
||||
if (filePath.DirectoryName is null)
|
||||
continue;
|
||||
paddedId = IId.GetPaddedId(propertyConfiguration, filePath.Id.Value, filePath.IsIgnore, i);
|
||||
paddedIdFile = Path.Combine(filePath.DirectoryName, $"{paddedId}{filePath.ExtensionLowered}");
|
||||
if (File.Exists(paddedIdFile))
|
||||
continue;
|
||||
File.Move(filePath.FullName, paddedIdFile);
|
||||
if (!paddedCheck)
|
||||
paddedCheck = true;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
if ((filePath.Id is not null && distinctIds.Contains(filePath.Id.Value)) || distinct.Contains(checkFile))
|
||||
{
|
||||
@ -380,6 +395,8 @@ internal abstract partial class XDirectory
|
||||
if (!distinctDirectories.Contains(directory))
|
||||
distinctDirectories.Add(directory);
|
||||
}
|
||||
if (isOffsetDeterministicHashCode)
|
||||
throw new Exception("Change Configuration Offset when ready to sort images!");
|
||||
if (paddedCheck)
|
||||
throw new Exception("Maybe need to restart application!");
|
||||
return (distinctDirectories.ToArray(), results);
|
||||
|
Loading…
x
Reference in New Issue
Block a user