Reduce flakiness of flag setting

This commit is contained in:
Matt Nadareski
2025-01-04 21:40:45 -05:00
parent 5a7201e92d
commit 263d8f6aef
5 changed files with 26 additions and 18 deletions

View File

@@ -826,7 +826,7 @@ namespace SabreTools.DatTools
{ {
Folder? outputArchive = FileTypeTool.CreateFolderType(outputFormat); Folder? outputArchive = FileTypeTool.CreateFolderType(outputFormat);
if (outputArchive is BaseArchive baseArchive && date) if (outputArchive is BaseArchive baseArchive && date)
baseArchive.UseDates = date; baseArchive.SetRealDates(date);
// Set the depth fields where appropriate // Set the depth fields where appropriate
if (outputArchive is GZipArchive gzipArchive) if (outputArchive is GZipArchive gzipArchive)

View File

@@ -424,7 +424,7 @@ namespace SabreTools.FileTypes.Archives
ulong istreamSize = (ulong)(inputStream.Length); ulong istreamSize = (ulong)(inputStream.Length);
DateTime dt = DateTime.Now; DateTime dt = DateTime.Now;
if (UseDates && !string.IsNullOrEmpty(baseFile.Date) && DateTime.TryParse(baseFile.Date!.Replace('\\', '/'), out dt)) if (_realDates && !string.IsNullOrEmpty(baseFile.Date) && DateTime.TryParse(baseFile.Date!.Replace('\\', '/'), out dt))
{ {
long msDosDateTime = DateTimeHelper.ConvertToMsDosTimeFormat(dt); long msDosDateTime = DateTimeHelper.ConvertToMsDosTimeFormat(dt);
TimeStamps ts = new() { ModTime = msDosDateTime }; TimeStamps ts = new() { ModTime = msDosDateTime };
@@ -501,7 +501,7 @@ namespace SabreTools.FileTypes.Archives
ulong istreamSize = (ulong)(inputStream.Length); ulong istreamSize = (ulong)(inputStream.Length);
DateTime dt = DateTime.Now; DateTime dt = DateTime.Now;
if (UseDates && !string.IsNullOrEmpty(baseFile.Date) && DateTime.TryParse(baseFile.Date!.Replace('\\', '/'), out dt)) if (_realDates && !string.IsNullOrEmpty(baseFile.Date) && DateTime.TryParse(baseFile.Date!.Replace('\\', '/'), out dt))
{ {
long msDosDateTime = DateTimeHelper.ConvertToMsDosTimeFormat(dt); long msDosDateTime = DateTimeHelper.ConvertToMsDosTimeFormat(dt);
TimeStamps ts = new() { ModTime = msDosDateTime }; TimeStamps ts = new() { ModTime = msDosDateTime };
@@ -639,7 +639,7 @@ namespace SabreTools.FileTypes.Archives
ulong istreamSize = (ulong)new FileInfo(inputFiles[index]).Length; ulong istreamSize = (ulong)new FileInfo(inputFiles[index]).Length;
DateTime dt = DateTime.Now; DateTime dt = DateTime.Now;
if (UseDates && !string.IsNullOrEmpty(baseFiles[index].Date) && DateTime.TryParse(baseFiles[index].Date?.Replace('\\', '/'), out dt)) if (_realDates && !string.IsNullOrEmpty(baseFiles[index].Date) && DateTime.TryParse(baseFiles[index].Date?.Replace('\\', '/'), out dt))
{ {
long msDosDateTime = DateTimeHelper.ConvertToMsDosTimeFormat(dt); long msDosDateTime = DateTimeHelper.ConvertToMsDosTimeFormat(dt);
TimeStamps ts = new() { ModTime = msDosDateTime }; TimeStamps ts = new() { ModTime = msDosDateTime };
@@ -721,7 +721,7 @@ namespace SabreTools.FileTypes.Archives
ulong istreamSize = (ulong)(new FileInfo(inputFiles[-index - 1]).Length); ulong istreamSize = (ulong)(new FileInfo(inputFiles[-index - 1]).Length);
DateTime dt = DateTime.Now; DateTime dt = DateTime.Now;
if (UseDates && !string.IsNullOrEmpty(baseFiles[-index - 1].Date) && DateTime.TryParse(baseFiles[-index - 1].Date?.Replace('\\', '/'), out dt)) if (_realDates && !string.IsNullOrEmpty(baseFiles[-index - 1].Date) && DateTime.TryParse(baseFiles[-index - 1].Date?.Replace('\\', '/'), out dt))
{ {
long msDosDateTime = DateTimeHelper.ConvertToMsDosTimeFormat(dt); long msDosDateTime = DateTimeHelper.ConvertToMsDosTimeFormat(dt);
TimeStamps ts = new() { ModTime = msDosDateTime }; TimeStamps ts = new() { ModTime = msDosDateTime };

View File

@@ -320,7 +320,7 @@ namespace SabreTools.FileTypes.Archives
{ {
// Get temporary date-time if possible // Get temporary date-time if possible
DateTime? usableDate = null; DateTime? usableDate = null;
if (UseDates && !string.IsNullOrEmpty(baseFile.Date) && DateTime.TryParse(baseFile.Date!.Replace('\\', '/'), out DateTime dt)) if (_realDates && !string.IsNullOrEmpty(baseFile.Date) && DateTime.TryParse(baseFile.Date!.Replace('\\', '/'), out DateTime dt))
usableDate = dt; usableDate = dt;
// Copy the input stream to the output // Copy the input stream to the output
@@ -375,7 +375,7 @@ namespace SabreTools.FileTypes.Archives
// Get temporary date-time if possible // Get temporary date-time if possible
DateTime? usableDate = null; DateTime? usableDate = null;
if (UseDates && !string.IsNullOrEmpty(baseFile.Date) && DateTime.TryParse(baseFile.Date!.Replace('\\', '/'), out DateTime dt)) if (_realDates && !string.IsNullOrEmpty(baseFile.Date) && DateTime.TryParse(baseFile.Date!.Replace('\\', '/'), out DateTime dt))
usableDate = dt; usableDate = dt;
// If we have the input file, add it now // If we have the input file, add it now
@@ -488,7 +488,7 @@ namespace SabreTools.FileTypes.Archives
// Get temporary date-time if possible // Get temporary date-time if possible
DateTime? usableDate = null; DateTime? usableDate = null;
if (UseDates && !string.IsNullOrEmpty(baseFiles[index].Date) && DateTime.TryParse(baseFiles[index].Date?.Replace('\\', '/'), out DateTime dt)) if (_realDates && !string.IsNullOrEmpty(baseFiles[index].Date) && DateTime.TryParse(baseFiles[index].Date?.Replace('\\', '/'), out DateTime dt))
usableDate = dt; usableDate = dt;
// Copy the input stream to the output // Copy the input stream to the output
@@ -550,7 +550,7 @@ namespace SabreTools.FileTypes.Archives
{ {
// Get temporary date-time if possible // Get temporary date-time if possible
DateTime? usableDate = null; DateTime? usableDate = null;
if (UseDates && !string.IsNullOrEmpty(baseFiles[-index - 1].Date) && DateTime.TryParse(baseFiles[-index - 1].Date?.Replace('\\', '/'), out DateTime dt)) if (_realDates && !string.IsNullOrEmpty(baseFiles[-index - 1].Date) && DateTime.TryParse(baseFiles[-index - 1].Date?.Replace('\\', '/'), out DateTime dt))
usableDate = dt; usableDate = dt;
// Copy the input file to the output // Copy the input file to the output

View File

@@ -605,7 +605,7 @@ namespace SabreTools.FileTypes.Archives
ulong istreamSize = (ulong)(inputStream.Length); ulong istreamSize = (ulong)(inputStream.Length);
DateTime dt = DateTime.Now; DateTime dt = DateTime.Now;
if (UseDates && !string.IsNullOrEmpty(baseFile.Date) && DateTime.TryParse(baseFile.Date!.Replace('\\', '/'), out dt)) if (_realDates && !string.IsNullOrEmpty(baseFile.Date) && DateTime.TryParse(baseFile.Date!.Replace('\\', '/'), out dt))
{ {
long msDosDateTime = DateTimeHelper.ConvertToMsDosTimeFormat(dt); long msDosDateTime = DateTimeHelper.ConvertToMsDosTimeFormat(dt);
TimeStamps ts = new() { ModTime = msDosDateTime }; TimeStamps ts = new() { ModTime = msDosDateTime };
@@ -679,7 +679,7 @@ namespace SabreTools.FileTypes.Archives
ulong istreamSize = (ulong)(inputStream.Length); ulong istreamSize = (ulong)(inputStream.Length);
DateTime dt = DateTime.Now; DateTime dt = DateTime.Now;
if (UseDates && !string.IsNullOrEmpty(baseFile.Date) && DateTime.TryParse(baseFile.Date!.Replace('\\', '/'), out dt)) if (_realDates && !string.IsNullOrEmpty(baseFile.Date) && DateTime.TryParse(baseFile.Date!.Replace('\\', '/'), out dt))
{ {
long msDosDateTime = DateTimeHelper.ConvertToMsDosTimeFormat(dt); long msDosDateTime = DateTimeHelper.ConvertToMsDosTimeFormat(dt);
TimeStamps ts = new() { ModTime = msDosDateTime }; TimeStamps ts = new() { ModTime = msDosDateTime };
@@ -813,7 +813,7 @@ namespace SabreTools.FileTypes.Archives
ulong istreamSize = (ulong)(new FileInfo(inputFiles[index]).Length); ulong istreamSize = (ulong)(new FileInfo(inputFiles[index]).Length);
DateTime dt = DateTime.Now; DateTime dt = DateTime.Now;
if (UseDates && !string.IsNullOrEmpty(baseFiles[index].Date) && DateTime.TryParse(baseFiles[index].Date?.Replace('\\', '/'), out dt)) if (_realDates && !string.IsNullOrEmpty(baseFiles[index].Date) && DateTime.TryParse(baseFiles[index].Date?.Replace('\\', '/'), out dt))
{ {
long msDosDateTime = DateTimeHelper.ConvertToMsDosTimeFormat(dt); long msDosDateTime = DateTimeHelper.ConvertToMsDosTimeFormat(dt);
TimeStamps ts = new() { ModTime = msDosDateTime }; TimeStamps ts = new() { ModTime = msDosDateTime };
@@ -895,7 +895,7 @@ namespace SabreTools.FileTypes.Archives
ulong istreamSize = (ulong)(new FileInfo(inputFiles[-index - 1]).Length); ulong istreamSize = (ulong)(new FileInfo(inputFiles[-index - 1]).Length);
DateTime dt = DateTime.Now; DateTime dt = DateTime.Now;
if (UseDates && !string.IsNullOrEmpty(baseFiles[-index - 1].Date) && DateTime.TryParse(baseFiles[-index - 1].Date?.Replace('\\', '/'), out dt)) if (_realDates && !string.IsNullOrEmpty(baseFiles[-index - 1].Date) && DateTime.TryParse(baseFiles[-index - 1].Date?.Replace('\\', '/'), out dt))
{ {
long msDosDateTime = DateTimeHelper.ConvertToMsDosTimeFormat(dt); long msDosDateTime = DateTimeHelper.ConvertToMsDosTimeFormat(dt);
TimeStamps ts = new() { ModTime = msDosDateTime }; TimeStamps ts = new() { ModTime = msDosDateTime };

View File

@@ -7,15 +7,15 @@ namespace SabreTools.FileTypes
{ {
#region Fields #region Fields
/// <summary>
/// Determines if dates are read or written
/// </summary>
public bool UseDates { get; set; } = false;
#endregion #endregion
#region Protected instance variables #region Protected instance variables
/// <summary>
/// Determines if real dates are written
/// </summary>
protected bool _realDates = false;
/// <summary> /// <summary>
/// Buffer size used by archives /// Buffer size used by archives
/// </summary> /// </summary>
@@ -68,6 +68,14 @@ namespace SabreTools.FileTypes
#region Writing #region Writing
/// <summary>
/// Set if real dates are written
/// </summary>
public void SetRealDates(bool realDates)
{
_realDates = realDates;
}
/// <inheritdoc/> /// <inheritdoc/>
public override abstract bool Write(string inputFile, string outDir, BaseFile? baseFile); public override abstract bool Write(string inputFile, string outDir, BaseFile? baseFile);