Align with BaGet
This commit is contained in:
parent
7417cc49e1
commit
79b9daedfa
@ -8,8 +8,9 @@ namespace File_Folder_Helper.Helpers;
|
|||||||
internal static class HelperZipFilesByDate
|
internal static class HelperZipFilesByDate
|
||||||
{
|
{
|
||||||
|
|
||||||
internal static void ZipFilesByDate(ILogger log, string sourceDirectory, SearchOption searchOption = SearchOption.TopDirectoryOnly, string dayFormat = "")
|
internal static bool ZipFilesByDate(ILogger log, string sourceDirectory, SearchOption searchOption = SearchOption.TopDirectoryOnly, string dayFormat = "")
|
||||||
{
|
{
|
||||||
|
bool result = false;
|
||||||
string key;
|
string key;
|
||||||
bool addFile;
|
bool addFile;
|
||||||
string? zipPath;
|
string? zipPath;
|
||||||
@ -137,7 +138,11 @@ internal static class HelperZipFilesByDate
|
|||||||
if (weeks.TryGetValue(fileName, out DateTime value))
|
if (weeks.TryGetValue(fileName, out DateTime value))
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{ File.SetLastWriteTime(subFile, value); }
|
{
|
||||||
|
if (!result)
|
||||||
|
result = true;
|
||||||
|
File.SetLastWriteTime(subFile, value);
|
||||||
|
}
|
||||||
catch (Exception) { }
|
catch (Exception) { }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -147,22 +152,110 @@ internal static class HelperZipFilesByDate
|
|||||||
{ _ = HelperDeleteEmptyDirectories.DeleteEmptyDirectories(topDirectory); }
|
{ _ = HelperDeleteEmptyDirectories.DeleteEmptyDirectories(topDirectory); }
|
||||||
catch (Exception) { }
|
catch (Exception) { }
|
||||||
}
|
}
|
||||||
log.LogInformation(topDirectory);
|
log.LogInformation("{topDirectory}", topDirectory);
|
||||||
}
|
}
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal static void SetDateFromZipEntry(ILogger log, string sourceDirectory, SearchOption searchOption = SearchOption.AllDirectories)
|
private static bool SetDateFromZipEntry(ILogger log, string[] zipFiles, string keyFile, string keyFileB, string keyFileC)
|
||||||
{
|
{
|
||||||
|
bool result = false;
|
||||||
string[] files;
|
string[] files;
|
||||||
|
string checkFile;
|
||||||
|
FileInfo fileInfo;
|
||||||
|
string? zipDirectory;
|
||||||
|
DateTimeOffset? dateTimeOffset;
|
||||||
|
foreach (string zipFile in zipFiles)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
dateTimeOffset = null;
|
||||||
|
fileInfo = new(zipFile);
|
||||||
|
using ZipArchive zip = ZipFile.Open(zipFile, ZipArchiveMode.Read);
|
||||||
|
foreach (ZipArchiveEntry zipArchiveEntry in zip.Entries)
|
||||||
|
{
|
||||||
|
if (!zipArchiveEntry.Name.EndsWith(keyFile))
|
||||||
|
continue;
|
||||||
|
dateTimeOffset = zipArchiveEntry.LastWriteTime;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
zipDirectory = Path.GetDirectoryName(zipFile);
|
||||||
|
if (dateTimeOffset is null || zipDirectory is null)
|
||||||
|
continue;
|
||||||
|
if (fileInfo.LastWriteTime != dateTimeOffset.Value.LocalDateTime)
|
||||||
|
{
|
||||||
|
File.SetLastWriteTime(fileInfo.FullName, dateTimeOffset.Value.LocalDateTime);
|
||||||
|
if (!result)
|
||||||
|
result = true;
|
||||||
|
}
|
||||||
|
files = Directory.GetFiles(zipDirectory, $"*{keyFile}", SearchOption.TopDirectoryOnly);
|
||||||
|
foreach (string file in files)
|
||||||
|
{
|
||||||
|
fileInfo = new(file);
|
||||||
|
if (fileInfo.LastWriteTime != dateTimeOffset.Value.LocalDateTime)
|
||||||
|
{
|
||||||
|
File.SetLastWriteTime(fileInfo.FullName, dateTimeOffset.Value.LocalDateTime);
|
||||||
|
if (!result)
|
||||||
|
result = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (string.IsNullOrEmpty(keyFileB))
|
||||||
|
continue;
|
||||||
|
files = Directory.GetFiles(zipDirectory, keyFileB, SearchOption.TopDirectoryOnly);
|
||||||
|
foreach (string file in files)
|
||||||
|
{
|
||||||
|
fileInfo = new(file);
|
||||||
|
if (fileInfo.LastWriteTime != dateTimeOffset.Value.LocalDateTime)
|
||||||
|
{
|
||||||
|
File.SetLastWriteTime(fileInfo.FullName, dateTimeOffset.Value.LocalDateTime);
|
||||||
|
if (!result)
|
||||||
|
result = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (string.IsNullOrEmpty(keyFileC))
|
||||||
|
continue;
|
||||||
|
files = Directory.GetFiles(zipDirectory, keyFileC, SearchOption.TopDirectoryOnly);
|
||||||
|
foreach (string file in files)
|
||||||
|
{
|
||||||
|
fileInfo = new(file);
|
||||||
|
if (fileInfo.LastWriteTime != dateTimeOffset.Value.LocalDateTime)
|
||||||
|
{
|
||||||
|
File.SetLastWriteTime(fileInfo.FullName, dateTimeOffset.Value.LocalDateTime);
|
||||||
|
if (!result)
|
||||||
|
result = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception)
|
||||||
|
{
|
||||||
|
log.LogInformation("<{zipFile}> is invalid!", zipFile);
|
||||||
|
checkFile = string.Concat(zipFile, ".err");
|
||||||
|
for (int e = 0; e < short.MaxValue; e++)
|
||||||
|
{
|
||||||
|
if (!File.Exists(checkFile))
|
||||||
|
break;
|
||||||
|
checkFile = string.Concat(checkFile, e);
|
||||||
|
}
|
||||||
|
try
|
||||||
|
{ File.Move(zipFile, checkFile); }
|
||||||
|
catch (Exception) { log.LogInformation("<{zipFile}> couldn't be moved!", zipFile); }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
internal static bool SetDateFromZipEntryForNuspec(ILogger log, string[] files) =>
|
||||||
|
SetDateFromZipEntry(log, files, ".nuspec", "icon", "readme");
|
||||||
|
|
||||||
|
internal static bool SetDateFromZipEntry(ILogger log, string sourceDirectory, SearchOption searchOption = SearchOption.AllDirectories)
|
||||||
|
{
|
||||||
|
bool result = false;
|
||||||
|
bool loop;
|
||||||
string keyFile;
|
string keyFile;
|
||||||
string keyFileB;
|
string keyFileB;
|
||||||
string keyFileC;
|
string keyFileC;
|
||||||
string checkFile;
|
|
||||||
FileInfo fileInfo;
|
|
||||||
string[] zipFiles;
|
string[] zipFiles;
|
||||||
string searchPattern;
|
string searchPattern;
|
||||||
string? zipDirectory;
|
|
||||||
DateTimeOffset? dateTimeOffset;
|
|
||||||
if (!Directory.Exists(sourceDirectory))
|
if (!Directory.Exists(sourceDirectory))
|
||||||
_ = Directory.CreateDirectory(sourceDirectory);
|
_ = Directory.CreateDirectory(sourceDirectory);
|
||||||
for (int i = 1; i < 3; i++)
|
for (int i = 1; i < 3; i++)
|
||||||
@ -174,67 +267,11 @@ internal static class HelperZipFilesByDate
|
|||||||
_ => throw new NotSupportedException()
|
_ => throw new NotSupportedException()
|
||||||
};
|
};
|
||||||
zipFiles = Directory.GetFiles(sourceDirectory, searchPattern, searchOption);
|
zipFiles = Directory.GetFiles(sourceDirectory, searchPattern, searchOption);
|
||||||
foreach (string zipFile in zipFiles)
|
loop = SetDateFromZipEntry(log, zipFiles, keyFile, keyFileB, keyFileC);
|
||||||
{
|
if (loop && !result)
|
||||||
try
|
result = true;
|
||||||
{
|
|
||||||
dateTimeOffset = null;
|
|
||||||
fileInfo = new(zipFile);
|
|
||||||
using ZipArchive zip = ZipFile.Open(zipFile, ZipArchiveMode.Read);
|
|
||||||
foreach (ZipArchiveEntry zipArchiveEntry in zip.Entries)
|
|
||||||
{
|
|
||||||
if (!zipArchiveEntry.Name.EndsWith(keyFile))
|
|
||||||
continue;
|
|
||||||
dateTimeOffset = zipArchiveEntry.LastWriteTime;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
zipDirectory = Path.GetDirectoryName(zipFile);
|
|
||||||
if (dateTimeOffset is null || zipDirectory is null)
|
|
||||||
continue;
|
|
||||||
if (fileInfo.LastWriteTime != dateTimeOffset.Value.LocalDateTime)
|
|
||||||
File.SetLastWriteTime(fileInfo.FullName, dateTimeOffset.Value.LocalDateTime);
|
|
||||||
files = Directory.GetFiles(zipDirectory, $"*{keyFile}", SearchOption.TopDirectoryOnly);
|
|
||||||
foreach (string file in files)
|
|
||||||
{
|
|
||||||
fileInfo = new(file);
|
|
||||||
if (fileInfo.LastWriteTime != dateTimeOffset.Value.LocalDateTime)
|
|
||||||
File.SetLastWriteTime(fileInfo.FullName, dateTimeOffset.Value.LocalDateTime);
|
|
||||||
}
|
|
||||||
if (string.IsNullOrEmpty(keyFileB))
|
|
||||||
continue;
|
|
||||||
files = Directory.GetFiles(zipDirectory, keyFileB, SearchOption.TopDirectoryOnly);
|
|
||||||
foreach (string file in files)
|
|
||||||
{
|
|
||||||
fileInfo = new(file);
|
|
||||||
if (fileInfo.LastWriteTime != dateTimeOffset.Value.LocalDateTime)
|
|
||||||
File.SetLastWriteTime(fileInfo.FullName, dateTimeOffset.Value.LocalDateTime);
|
|
||||||
}
|
|
||||||
if (string.IsNullOrEmpty(keyFileC))
|
|
||||||
continue;
|
|
||||||
files = Directory.GetFiles(zipDirectory, keyFileC, SearchOption.TopDirectoryOnly);
|
|
||||||
foreach (string file in files)
|
|
||||||
{
|
|
||||||
fileInfo = new(file);
|
|
||||||
if (fileInfo.LastWriteTime != dateTimeOffset.Value.LocalDateTime)
|
|
||||||
File.SetLastWriteTime(fileInfo.FullName, dateTimeOffset.Value.LocalDateTime);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch (Exception)
|
|
||||||
{
|
|
||||||
log.LogInformation($"<{zipFile}> is invalid!");
|
|
||||||
checkFile = string.Concat(zipFile, ".err");
|
|
||||||
for (int e = 0; e < short.MaxValue; e++)
|
|
||||||
{
|
|
||||||
if (!File.Exists(checkFile))
|
|
||||||
break;
|
|
||||||
checkFile = string.Concat(checkFile, e);
|
|
||||||
}
|
|
||||||
try
|
|
||||||
{ File.Move(zipFile, checkFile); }
|
|
||||||
catch (Exception) { log.LogInformation($"<{zipFile}> couldn't be moved!"); }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
@ -144,7 +144,7 @@ public class Worker : BackgroundService
|
|||||||
Helpers.HelperRenameToOldMoveDeleteOldMerge.RenameToOldMoveDeleteOld(_Logger, _Args[0]);
|
Helpers.HelperRenameToOldMoveDeleteOldMerge.RenameToOldMoveDeleteOld(_Logger, _Args[0]);
|
||||||
break;
|
break;
|
||||||
case ConsoleKey.S:
|
case ConsoleKey.S:
|
||||||
Helpers.HelperZipFilesByDate.SetDateFromZipEntry(_Logger, _Args[0]);
|
_ = Helpers.HelperZipFilesByDate.SetDateFromZipEntry(_Logger, _Args[0]);
|
||||||
break;
|
break;
|
||||||
case ConsoleKey.T:
|
case ConsoleKey.T:
|
||||||
Helpers.HelperTooLong.TooLong(_Args[0], delete: false);
|
Helpers.HelperTooLong.TooLong(_Args[0], delete: false);
|
||||||
@ -154,7 +154,7 @@ public class Worker : BackgroundService
|
|||||||
Helpers.HelperMarkdown.MarkdownConvertLinksForHugo(_AppSettings, _Logger, _Args);
|
Helpers.HelperMarkdown.MarkdownConvertLinksForHugo(_AppSettings, _Logger, _Args);
|
||||||
break;
|
break;
|
||||||
case ConsoleKey.Z:
|
case ConsoleKey.Z:
|
||||||
Helpers.HelperZipFilesByDate.ZipFilesByDate(_Logger, _Args[0]);
|
_ = Helpers.HelperZipFilesByDate.ZipFilesByDate(_Logger, _Args[0]);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
switch (consoleKey)
|
switch (consoleKey)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user