mirror of
https://github.com/claunia/SabreTools.git
synced 2025-12-16 19:14:27 +00:00
[DatFile, ArchiveTools] Fix sort using CHDs
This commit is contained in:
@@ -4389,7 +4389,7 @@ namespace SabreTools.Library.DatFiles
|
|||||||
rebuilt = true;
|
rebuilt = true;
|
||||||
|
|
||||||
// Now loop through the list and rebuild accordingly
|
// Now loop through the list and rebuild accordingly
|
||||||
foreach (Rom item in dupes)
|
foreach (DatItem item in dupes)
|
||||||
{
|
{
|
||||||
switch (outputFormat)
|
switch (outputFormat)
|
||||||
{
|
{
|
||||||
@@ -4397,10 +4397,10 @@ namespace SabreTools.Library.DatFiles
|
|||||||
rebuilt &= ArchiveTools.WriteFile(fileStream, outDir, item, date: date, overwrite: true);
|
rebuilt &= ArchiveTools.WriteFile(fileStream, outDir, item, date: date, overwrite: true);
|
||||||
break;
|
break;
|
||||||
case OutputFormat.TapeArchive:
|
case OutputFormat.TapeArchive:
|
||||||
rebuilt &= ArchiveTools.WriteTAR(fileStream, outDir, item, date: date);
|
rebuilt &= ArchiveTools.WriteTAR(fileStream, outDir, (Rom)item, date: date);
|
||||||
break;
|
break;
|
||||||
case OutputFormat.Torrent7Zip:
|
case OutputFormat.Torrent7Zip:
|
||||||
rebuilt &= ArchiveTools.WriteTorrent7Zip(fileStream, outDir, item, date: date);
|
rebuilt &= ArchiveTools.WriteTorrent7Zip(fileStream, outDir, (Rom)item, date: date);
|
||||||
break;
|
break;
|
||||||
case OutputFormat.TorrentGzip:
|
case OutputFormat.TorrentGzip:
|
||||||
rebuilt &= ArchiveTools.WriteTorrentGZ(fileStream, outDir, romba);
|
rebuilt &= ArchiveTools.WriteTorrentGZ(fileStream, outDir, romba);
|
||||||
@@ -4410,10 +4410,10 @@ namespace SabreTools.Library.DatFiles
|
|||||||
case OutputFormat.TorrentRar:
|
case OutputFormat.TorrentRar:
|
||||||
break;
|
break;
|
||||||
case OutputFormat.TorrentXZ:
|
case OutputFormat.TorrentXZ:
|
||||||
rebuilt &= ArchiveTools.WriteTorrentXZ(fileStream, outDir, item, date: date);
|
rebuilt &= ArchiveTools.WriteTorrentXZ(fileStream, outDir, (Rom)item, date: date);
|
||||||
break;
|
break;
|
||||||
case OutputFormat.TorrentZip:
|
case OutputFormat.TorrentZip:
|
||||||
rebuilt &= ArchiveTools.WriteTorrentZip(fileStream, outDir, item, date: date);
|
rebuilt &= ArchiveTools.WriteTorrentZip(fileStream, outDir, (Rom)item, date: date);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -4611,7 +4611,7 @@ namespace SabreTools.Library.DatFiles
|
|||||||
rebuilt = true;
|
rebuilt = true;
|
||||||
|
|
||||||
// Now loop through the list and rebuild accordingly
|
// Now loop through the list and rebuild accordingly
|
||||||
foreach (Rom item in dupes)
|
foreach (DatItem item in dupes)
|
||||||
{
|
{
|
||||||
// Create a headered item to use as well
|
// Create a headered item to use as well
|
||||||
datItem.CopyMachineInformation(item);
|
datItem.CopyMachineInformation(item);
|
||||||
@@ -4623,14 +4623,14 @@ namespace SabreTools.Library.DatFiles
|
|||||||
{
|
{
|
||||||
case OutputFormat.Folder:
|
case OutputFormat.Folder:
|
||||||
eitherSuccess |= ArchiveTools.WriteFile(transformStream, outDir, item, date: date, overwrite: true);
|
eitherSuccess |= ArchiveTools.WriteFile(transformStream, outDir, item, date: date, overwrite: true);
|
||||||
eitherSuccess |= ArchiveTools.WriteFile(fileStream, outDir, (Rom)datItem, date: date, overwrite: true);
|
eitherSuccess |= ArchiveTools.WriteFile(fileStream, outDir, datItem, date: date, overwrite: true);
|
||||||
break;
|
break;
|
||||||
case OutputFormat.TapeArchive:
|
case OutputFormat.TapeArchive:
|
||||||
eitherSuccess |= ArchiveTools.WriteTAR(transformStream, outDir, item, date: date);
|
eitherSuccess |= ArchiveTools.WriteTAR(transformStream, outDir, (Rom)item, date: date);
|
||||||
eitherSuccess |= ArchiveTools.WriteTAR(fileStream, outDir, (Rom)datItem, date: date);
|
eitherSuccess |= ArchiveTools.WriteTAR(fileStream, outDir, (Rom)datItem, date: date);
|
||||||
break;
|
break;
|
||||||
case OutputFormat.Torrent7Zip:
|
case OutputFormat.Torrent7Zip:
|
||||||
eitherSuccess |= ArchiveTools.WriteTorrent7Zip(transformStream, outDir, item, date: date);
|
eitherSuccess |= ArchiveTools.WriteTorrent7Zip(transformStream, outDir, (Rom)item, date: date);
|
||||||
eitherSuccess |= ArchiveTools.WriteTorrent7Zip(fileStream, outDir, (Rom)datItem, date: date);
|
eitherSuccess |= ArchiveTools.WriteTorrent7Zip(fileStream, outDir, (Rom)datItem, date: date);
|
||||||
break;
|
break;
|
||||||
case OutputFormat.TorrentGzip:
|
case OutputFormat.TorrentGzip:
|
||||||
@@ -4642,11 +4642,11 @@ namespace SabreTools.Library.DatFiles
|
|||||||
case OutputFormat.TorrentRar:
|
case OutputFormat.TorrentRar:
|
||||||
break;
|
break;
|
||||||
case OutputFormat.TorrentXZ:
|
case OutputFormat.TorrentXZ:
|
||||||
eitherSuccess |= ArchiveTools.WriteTorrentXZ(transformStream, outDir, item, date: date);
|
eitherSuccess |= ArchiveTools.WriteTorrentXZ(transformStream, outDir, (Rom)item, date: date);
|
||||||
eitherSuccess |= ArchiveTools.WriteTorrentXZ(fileStream, outDir, (Rom)datItem, date: date);
|
eitherSuccess |= ArchiveTools.WriteTorrentXZ(fileStream, outDir, (Rom)datItem, date: date);
|
||||||
break;
|
break;
|
||||||
case OutputFormat.TorrentZip:
|
case OutputFormat.TorrentZip:
|
||||||
eitherSuccess |= ArchiveTools.WriteTorrentZip(transformStream, outDir, item, date: date);
|
eitherSuccess |= ArchiveTools.WriteTorrentZip(transformStream, outDir, (Rom)item, date: date);
|
||||||
eitherSuccess |= ArchiveTools.WriteTorrentZip(fileStream, outDir, (Rom)datItem, date: date);
|
eitherSuccess |= ArchiveTools.WriteTorrentZip(fileStream, outDir, (Rom)datItem, date: date);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1369,16 +1369,16 @@ namespace SabreTools.Library.Tools
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="inputFile">Input filename to be moved</param>
|
/// <param name="inputFile">Input filename to be moved</param>
|
||||||
/// <param name="outDir">Output directory to build to</param>
|
/// <param name="outDir">Output directory to build to</param>
|
||||||
/// <param name="rom">DatItem representing the new information</param>
|
/// <param name="datItem">DatItem representing the new information</param>
|
||||||
/// <param name="date">True if the date from the DAT should be used if available, false otherwise (default)</param>
|
/// <param name="date">True if the date from the DAT should be used if available, false otherwise (default)</param>
|
||||||
/// <param name="overwrite">True if we should overwrite the file if it exists, false otherwise</param>
|
/// <param name="overwrite">True if we should overwrite the file if it exists, false otherwise</param>
|
||||||
/// <returns>True if the file was written properly, false otherwise</returns>
|
/// <returns>True if the file was written properly, false otherwise</returns>
|
||||||
public static bool WriteFile(Stream inputStream, string outDir, Rom rom, bool date = false, bool overwrite = false)
|
public static bool WriteFile(Stream inputStream, string outDir, DatItem datItem, bool date = false, bool overwrite = false)
|
||||||
{
|
{
|
||||||
bool success = false;
|
bool success = false;
|
||||||
|
|
||||||
// If either input is null or empty, return
|
// If either input is null or empty, return
|
||||||
if (inputStream == null || rom == null || rom.Name == null)
|
if (inputStream == null || datItem == null || datItem.Name == null)
|
||||||
{
|
{
|
||||||
return success;
|
return success;
|
||||||
}
|
}
|
||||||
@@ -1393,7 +1393,7 @@ namespace SabreTools.Library.Tools
|
|||||||
FileStream outputStream = null;
|
FileStream outputStream = null;
|
||||||
|
|
||||||
// Get the output folder name from the first rebuild rom
|
// Get the output folder name from the first rebuild rom
|
||||||
string fileName = Path.Combine(outDir, Style.RemovePathUnsafeCharacters(rom.MachineName), Style.RemovePathUnsafeCharacters(rom.Name));
|
string fileName = Path.Combine(outDir, Style.RemovePathUnsafeCharacters(datItem.MachineName), Style.RemovePathUnsafeCharacters(datItem.Name));
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@@ -1424,9 +1424,12 @@ namespace SabreTools.Library.Tools
|
|||||||
}
|
}
|
||||||
outputStream.Dispose();
|
outputStream.Dispose();
|
||||||
|
|
||||||
if (date && !String.IsNullOrEmpty(rom.Date))
|
if (datItem.Type == ItemType.Rom)
|
||||||
{
|
{
|
||||||
File.SetCreationTime(fileName, DateTime.Parse(rom.Date));
|
if (date && !String.IsNullOrEmpty(((Rom)datItem).Date))
|
||||||
|
{
|
||||||
|
File.SetCreationTime(fileName, DateTime.Parse(((Rom)datItem).Date));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
success = true;
|
success = true;
|
||||||
|
|||||||
Reference in New Issue
Block a user