SortCodeMethods

DirectoryToISO
TextToJson
This commit is contained in:
2024-01-08 10:02:30 -07:00
parent ccea8de8cf
commit 84ad97ac6e
22 changed files with 465 additions and 281 deletions

View File

@ -8,9 +8,6 @@ namespace File_Folder_Helper.Helpers;
internal static partial class HelperZipFilesBy
{
[GeneratedRegex("[a-zA-Z0-9]{1,}")]
private static partial Regex LowerAlphaAlphaAndNumber();
private static DateTimeOffset? GetDateTimeOffset(string keyFileExtension, FileInfo fileInfo, FileInfo extractKeyFileInfo)
{
DateTimeOffset? dateTimeOffset = null;
@ -31,6 +28,9 @@ internal static partial class HelperZipFilesBy
return dateTimeOffset;
}
[GeneratedRegex("[a-zA-Z0-9]{1,}")]
private static partial Regex LowerAlphaAlphaAndNumber();
private static bool ExtractKeyFileAndSetDateFromZipEntry(ILogger<Worker> logger, string[] zipFiles, string keyFileExtension, string keyFileExtensionB, string keyFileExtensionC, bool renameToLower)
{
bool result = false;
@ -120,6 +120,37 @@ internal static partial class HelperZipFilesBy
return result;
}
private static void ZipDirectory(ILogger<Worker> logger, string directory)
{
logger.LogInformation("{directory}", directory);
string zipFile = $"{directory}.zip";
int skipChars = directory.Length + 1;
string[] files = Directory.GetFiles(directory, "*", SearchOption.AllDirectories);
string[] directories = Directory.GetDirectories(directory, "*", SearchOption.AllDirectories);
ZipArchiveMode zipArchiveMode = File.Exists(zipFile) ? ZipArchiveMode.Update : ZipArchiveMode.Create;
for (int i = 1; i < 3; i++)
{
try
{
using ZipArchive zip = ZipFile.Open(zipFile, zipArchiveMode);
for (int j = 0; j < directories.Length; j++)
_ = zip.CreateEntry($"{directories[j][skipChars..]}/");
foreach (string file in files)
{
_ = zip.CreateEntryFromFile(file, file[skipChars..]);
File.Delete(file);
}
break;
}
catch (Exception)
{
File.Delete(zipFile);
zipArchiveMode = ZipArchiveMode.Create;
}
}
Directory.Delete(directory, recursive: true);
}
internal static bool ZipFilesByDate(ILogger<Worker> logger, string sourceDirectory, SearchOption searchOption = SearchOption.TopDirectoryOnly, string dayFormat = "")
{
bool result = false;
@ -291,37 +322,6 @@ internal static partial class HelperZipFilesBy
return result;
}
private static void ZipDirectory(ILogger<Worker> logger, string directory)
{
logger.LogInformation("{directory}", directory);
string zipFile = $"{directory}.zip";
int skipChars = directory.Length + 1;
string[] files = Directory.GetFiles(directory, "*", SearchOption.AllDirectories);
string[] directories = Directory.GetDirectories(directory, "*", SearchOption.AllDirectories);
ZipArchiveMode zipArchiveMode = File.Exists(zipFile) ? ZipArchiveMode.Update : ZipArchiveMode.Create;
for (int i = 1; i < 3; i++)
{
try
{
using ZipArchive zip = ZipFile.Open(zipFile, zipArchiveMode);
for (int j = 0; j < directories.Length; j++)
_ = zip.CreateEntry($"{directories[j][skipChars..]}/");
foreach (string file in files)
{
_ = zip.CreateEntryFromFile(file, file[skipChars..]);
File.Delete(file);
}
break;
}
catch (Exception)
{
File.Delete(zipFile);
zipArchiveMode = ZipArchiveMode.Create;
}
}
Directory.Delete(directory, recursive: true);
}
internal static void ZipFilesByDirectoryWithFile(ILogger<Worker> logger, string sourceDirectory)
{
string[] files1;