Second pass with standard get files (Day-Helper-2024-12-17)

This commit is contained in:
2025-06-09 18:41:02 -07:00
parent 404ffe18f5
commit cd74175469

View File

@ -57,6 +57,7 @@ internal static partial class Helper20241217
string asidePath; string asidePath;
bool areTheyTheSame; bool areTheyTheSame;
string directoryName; string directoryName;
IEnumerable<Record> records;
logger.LogInformation(args[0]); logger.LogInformation(args[0]);
logger.LogInformation(args[1]); logger.LogInformation(args[1]);
logger.LogInformation(args[2]); logger.LogInformation(args[2]);
@ -64,6 +65,7 @@ internal static partial class Helper20241217
logger.LogInformation(args[4]); logger.LogInformation(args[4]);
ReadOnlyCollection<File> files; ReadOnlyCollection<File> files;
string searchPattern = args[2]; string searchPattern = args[2];
IEnumerable<string> searchPatternFiles;
string[] ignoreFileNames = args[3].Split('~'); string[] ignoreFileNames = args[3].Split('~');
string destination = Path.GetFullPath(args[4]); string destination = Path.GetFullPath(args[4]);
string sourceDirectory = Path.GetFullPath(args[0]); string sourceDirectory = Path.GetFullPath(args[0]);
@ -71,7 +73,19 @@ internal static partial class Helper20241217
logger.LogInformation("Searching <{sourceDirectory}> with search pattern {searchPattern}", args[0], searchPattern); logger.LogInformation("Searching <{sourceDirectory}> with search pattern {searchPattern}", args[0], searchPattern);
if (Debugger.IsAttached) if (Debugger.IsAttached)
Verify(searchPattern, ignoreFileNames); Verify(searchPattern, ignoreFileNames);
IEnumerable<Record> records = GetRecords(sourceDirectory, searchPattern); for (int i = 1; i < 3; i++)
{
if (i == 1)
{
searchPatternFiles = Directory.EnumerateFiles(sourceDirectory, searchPattern, new EnumerationOptions { IgnoreInaccessible = true, RecurseSubdirectories = true });
}
else if (i == 2)
{
searchPatternFiles = Directory.GetFiles(sourceDirectory, searchPattern, SearchOption.AllDirectories);
}
else
throw new NotImplementedException();
records = GetRecords(sourceDirectory, searchPatternFiles);
foreach (Record record in records) foreach (Record record in records)
{ {
if (record.Job is null || string.IsNullOrEmpty(record.Job.Extension)) if (record.Job is null || string.IsNullOrEmpty(record.Job.Extension))
@ -97,11 +111,6 @@ internal static partial class Helper20241217
WriteAllText(record.Path, json); WriteAllText(record.Path, json);
Helpers.HelperDeleteEmptyDirectories.DeleteEmptyDirectories(logger, $"{destinationDriveLetter}{record.Directory[1..]}"); Helpers.HelperDeleteEmptyDirectories.DeleteEmptyDirectories(logger, $"{destinationDriveLetter}{record.Directory[1..]}");
} }
if (Debugger.IsAttached && records.Count() == 0)
{
files = GetFiles(sourceDirectory, searchPattern, ignoreFileNames);
json = JsonSerializer.Serialize(files.ToArray(), FilesSourceGenerationContext.Default.FileArray);
WriteAllText(Path.Combine(Environment.CurrentDirectory, ".vscode", "helper", ".json"), json);
} }
} }
@ -150,14 +159,13 @@ internal static partial class Helper20241217
return results.AsReadOnly(); return results.AsReadOnly();
} }
private static IEnumerable<Record> GetRecords(string directory, string searchPattern) private static IEnumerable<Record> GetRecords(string directory, IEnumerable<string> files)
{ {
Job? job; Job? job;
string json; string json;
Record record; Record record;
string fileName; string fileName;
string directoryName; string directoryName;
IEnumerable<string> files = Directory.EnumerateFiles(directory, searchPattern, new EnumerationOptions { IgnoreInaccessible = true, RecurseSubdirectories = true });
foreach (string file in files) foreach (string file in files)
{ {
fileName = Path.GetFileName(file); fileName = Path.GetFileName(file);