mirror of
https://github.com/claunia/SabreTools.git
synced 2025-12-16 19:14:27 +00:00
[DatFile] Exception for TGZ->TGZ rebuild
This commit is contained in:
@@ -458,9 +458,6 @@ namespace SabreTools.Helper.Dats
|
|||||||
/// <param name="isZip">True if the input file is an archive, false otherwise</param>
|
/// <param name="isZip">True if the input file is an archive, false otherwise</param>
|
||||||
/// <param name="headerToCheckAgainst">Populated string representing the name of the skipper to use, a blank string to use the first available checker, null otherwise</param>
|
/// <param name="headerToCheckAgainst">Populated string representing the name of the skipper to use, a blank string to use the first available checker, null otherwise</param>
|
||||||
/// <returns>True if the file was able to be rebuilt, false otherwise</returns>
|
/// <returns>True if the file was able to be rebuilt, false otherwise</returns>
|
||||||
/// <remarks>
|
|
||||||
/// TODO: If going from a TGZ file to a TGZ file, don't extract, just copy
|
|
||||||
/// </remarks>
|
|
||||||
private bool RebuildIndividualFile(Rom rom, string file, string outDir, string tempDir, bool date,
|
private bool RebuildIndividualFile(Rom rom, string file, string outDir, string tempDir, bool date,
|
||||||
bool inverse, OutputFormat outputFormat, bool romba, bool updateDat, bool isZip, string headerToCheckAgainst)
|
bool inverse, OutputFormat outputFormat, bool romba, bool updateDat, bool isZip, string headerToCheckAgainst)
|
||||||
{
|
{
|
||||||
@@ -482,6 +479,32 @@ namespace SabreTools.Helper.Dats
|
|||||||
return rebuilt;
|
return rebuilt;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// If we have a very specifc TGZ->TGZ case, just copy it accordingly
|
||||||
|
if (isZip && ArchiveTools.GetTorrentGZFileInfo(file) != null && outputFormat == OutputFormat.TorrentGzip)
|
||||||
|
{
|
||||||
|
// Get the proper output path
|
||||||
|
if (romba)
|
||||||
|
{
|
||||||
|
outDir = Path.Combine(outDir, Style.GetRombaPath(rom.SHA1));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Make sure the output folder is created
|
||||||
|
Directory.CreateDirectory(Path.GetDirectoryName(outDir));
|
||||||
|
|
||||||
|
// Now copy the file over
|
||||||
|
try
|
||||||
|
{
|
||||||
|
File.Copy(file, outDir);
|
||||||
|
rebuilt &= true;
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
rebuilt = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return rebuilt;
|
||||||
|
}
|
||||||
|
|
||||||
// If we have an archive input, get the real name of the file to use
|
// If we have an archive input, get the real name of the file to use
|
||||||
// TODO: Remove the need to extract the file first; reimplement ArchiveToArchive?
|
// TODO: Remove the need to extract the file first; reimplement ArchiveToArchive?
|
||||||
if (isZip)
|
if (isZip)
|
||||||
@@ -555,6 +578,32 @@ namespace SabreTools.Helper.Dats
|
|||||||
{
|
{
|
||||||
string machinename = null;
|
string machinename = null;
|
||||||
|
|
||||||
|
// If we have a very specifc TGZ->TGZ case, just copy it accordingly
|
||||||
|
if (isZip && ArchiveTools.GetTorrentGZFileInfo(file) != null && outputFormat == OutputFormat.TorrentGzip)
|
||||||
|
{
|
||||||
|
// Get the proper output path
|
||||||
|
if (romba)
|
||||||
|
{
|
||||||
|
outDir = Path.Combine(outDir, Style.GetRombaPath(rom.SHA1));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Make sure the output folder is created
|
||||||
|
Directory.CreateDirectory(Path.GetDirectoryName(outDir));
|
||||||
|
|
||||||
|
// Now copy the file over
|
||||||
|
try
|
||||||
|
{
|
||||||
|
File.Copy(file, outDir);
|
||||||
|
rebuilt &= true;
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
rebuilt = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return rebuilt;
|
||||||
|
}
|
||||||
|
|
||||||
// If we have an archive input, get the real name of the file to use
|
// If we have an archive input, get the real name of the file to use
|
||||||
if (isZip)
|
if (isZip)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user