Back to before AA

This commit is contained in:
2023-10-22 11:50:01 -07:00
parent a4a92aacd2
commit de18149027
21 changed files with 348 additions and 244 deletions

View File

@ -3,7 +3,6 @@ using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Logging;
using Phares.Shared;
using ShellProgressBar;
using System.Collections.ObjectModel;
using System.Text;
using View_by_Distance.Metadata.Models;
using View_by_Distance.Rename.Models;
@ -16,9 +15,6 @@ namespace View_by_Distance.Rename;
public class Rename
{
private record Result(string File,
ReadOnlyDictionary<string, MetadataExtractorDirectory> KeyValuePairs);
private record Record(int Index,
bool IsIgnoreExtension,
bool IsValidImageFormatExtension,
@ -52,12 +48,6 @@ public class Rename
logger?.LogInformation("{RootDirectory}", propertyConfiguration.RootDirectory);
Property.Models.Configuration.Verify(propertyConfiguration, requireExist: false);
Verify();
List<string> linesB = IteratedRenameFilesInDirectories(logger);
if (linesB.Count != 0)
{
File.WriteAllLines($"D:/Tmp/Phares/{DateTime.Now.Ticks}.tsv", linesB);
_ = Shared.Models.Stateless.Methods.IPath.DeleteEmptyDirectories(propertyConfiguration.RootDirectory);
}
List<string> lines = RenameFilesInDirectories(logger);
if (lines.Count != 0)
{
@ -82,25 +72,6 @@ public class Rename
throw new NullReferenceException(nameof(_PropertyConfiguration));
}
private static Action<string> GetResultCollection(A_Metadata metadata, List<Result> results, Action tick)
{
tick.Invoke();
return file => results.Add(new(file, metadata.GetMetadataCollection(file)));
}
private List<string> IteratedRenameFilesInDirectories(ILogger? logger)
{
List<string> old = [];
List<Result> results = [];
string rootDirectoryFullPath = Path.GetFullPath(_PropertyConfiguration.RootDirectory);
ParallelOptions parallelOptions = new() { MaxDegreeOfParallelism = _AppSettings.MaxDegreeOfParallelism };
IEnumerable<string> files = Directory.EnumerateFiles(rootDirectoryFullPath, "*", SearchOption.AllDirectories);
A_Metadata metadata = new(_PropertyConfiguration, _Configuration.ForceMetadataLastWriteTimeToCreationTime, _Configuration.PropertiesChangedForMetadata);
ProgressBar progressBar = new(short.MaxValue, "EnumerateFiles load", new ProgressBarOptions() { ProgressCharacter = '─', ProgressBarOnBottom = true, DisableBottomPercentage = true });
files.AsParallel().ForAll(GetResultCollection(metadata, results, () => progressBar.Tick()));
return old;
}
private List<string> RenameFilesInDirectories(ILogger? logger)
{
List<string> results = [];