mirror of
https://github.com/claunia/SabreTools.git
synced 2025-12-16 19:14:27 +00:00
Add Aaruformat validation and media item type (#29)
* Initial `media` and AaruFormat code * But... why? * Fix AIF reading * Fix D2D, Logiqx cleanup * Minor cleanup * Final cleanup round
This commit is contained in:
@@ -65,8 +65,8 @@ have a current entry in the DAT index.";
|
||||
DatFile df = DatFile.Create();
|
||||
foreach (string dir in onlyDirs)
|
||||
{
|
||||
df.PopulateFromDir(dir, asFiles: TreatAsFiles.CHDs);
|
||||
df.PopulateFromDir(dir, asFiles: TreatAsFiles.Archives | TreatAsFiles.CHDs);
|
||||
df.PopulateFromDir(dir, asFiles: TreatAsFiles.AaruFormats | TreatAsFiles.CHDs);
|
||||
df.PopulateFromDir(dir, asFiles: TreatAsFiles.AaruFormats | TreatAsFiles.Archives | TreatAsFiles.CHDs);
|
||||
}
|
||||
|
||||
// Create an empty Dat for files that need to be rebuilt
|
||||
@@ -194,7 +194,7 @@ have a current entry in the DAT index.";
|
||||
outDir: _depots.Keys.ToList()[0],
|
||||
outputFormat: OutputFormat.TorrentGzipRomba,
|
||||
updateDat: false,
|
||||
asFiles: TreatAsFiles.CHDs);
|
||||
asFiles: TreatAsFiles.AaruFormats | TreatAsFiles.CHDs);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -629,7 +629,39 @@ namespace RombaSharp.Features
|
||||
{
|
||||
Globals.Logger.Verbose($"Checking and adding file '{datItem.Name}'");
|
||||
|
||||
if (datItem.ItemType == ItemType.Rom)
|
||||
if (datItem.ItemType == ItemType.Disk)
|
||||
{
|
||||
Disk disk = (Disk)datItem;
|
||||
hasItems = true;
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(disk.MD5))
|
||||
md5query += $" (\"{disk.MD5}\"),";
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(disk.SHA1))
|
||||
{
|
||||
sha1query += $" (\"{disk.SHA1}\"),";
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(disk.MD5))
|
||||
md5sha1query += $" (\"{disk.MD5}\", \"{disk.SHA1}\"),";
|
||||
}
|
||||
}
|
||||
else if (datItem.ItemType == ItemType.Media)
|
||||
{
|
||||
Media media = (Media)datItem;
|
||||
hasItems = true;
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(media.MD5))
|
||||
md5query += $" (\"{media.MD5}\"),";
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(media.SHA1))
|
||||
{
|
||||
sha1query += $" (\"{media.SHA1}\"),";
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(media.MD5))
|
||||
md5sha1query += $" (\"{media.MD5}\", \"{media.SHA1}\"),";
|
||||
}
|
||||
}
|
||||
else if (datItem.ItemType == ItemType.Rom)
|
||||
{
|
||||
Rom rom = (Rom)datItem;
|
||||
hasItems = true;
|
||||
@@ -651,22 +683,6 @@ namespace RombaSharp.Features
|
||||
md5sha1query += $" (\"{rom.MD5}\", \"{rom.SHA1}\"),";
|
||||
}
|
||||
}
|
||||
else if (datItem.ItemType == ItemType.Disk)
|
||||
{
|
||||
Disk disk = (Disk)datItem;
|
||||
hasItems = true;
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(disk.MD5))
|
||||
md5query += $" (\"{disk.MD5}\"),";
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(disk.SHA1))
|
||||
{
|
||||
sha1query += $" (\"{disk.SHA1}\"),";
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(disk.MD5))
|
||||
md5sha1query += $" (\"{disk.MD5}\", \"{disk.SHA1}\"),";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -51,7 +51,7 @@ namespace RombaSharp.Features
|
||||
DatFile datfile = DatFile.Create();
|
||||
datfile.Header.Name = string.IsNullOrWhiteSpace(name) ? "untitled" : name;
|
||||
datfile.Header.Description = description;
|
||||
datfile.PopulateFromDir(source, bare: true, asFiles: TreatAsFiles.CHDs);
|
||||
datfile.PopulateFromDir(source, bare: true, asFiles: TreatAsFiles.AaruFormats | TreatAsFiles.CHDs);
|
||||
datfile.Write(outDir: outdat);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -62,7 +62,7 @@ contents of any changed dats.";
|
||||
// First get a list of SHA-1's from the input DATs
|
||||
DatFile datroot = DatFile.Create();
|
||||
datroot.Header.Type = "SuperDAT";
|
||||
datroot.PopulateFromDir(_dats, asFiles: TreatAsFiles.CHDs);
|
||||
datroot.PopulateFromDir(_dats, asFiles: TreatAsFiles.AaruFormats | TreatAsFiles.CHDs);
|
||||
datroot.Items.BucketBy(Field.DatItem_SHA1, DedupeType.None);
|
||||
|
||||
// Create a List of dat hashes in the database (SHA-1)
|
||||
|
||||
@@ -64,7 +64,7 @@ namespace RombaSharp.Features
|
||||
|
||||
// Now rescan the depot itself
|
||||
DatFile depot = DatFile.Create();
|
||||
depot.PopulateFromDir(depotname, asFiles: TreatAsFiles.CHDs);
|
||||
depot.PopulateFromDir(depotname, asFiles: TreatAsFiles.AaruFormats | TreatAsFiles.CHDs);
|
||||
depot.Items.BucketBy(Field.DatItem_SHA1, DedupeType.None);
|
||||
|
||||
// Set the base queries to use
|
||||
|
||||
Reference in New Issue
Block a user