mirror of
https://github.com/claunia/SabreTools.git
synced 2025-12-16 19:14:27 +00:00
Reduce flakiness of flag setting
This commit is contained in:
@@ -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)
|
||||||
|
|||||||
@@ -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 };
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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 };
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user