mirror of
https://github.com/claunia/SabreTools.git
synced 2025-12-16 19:14:27 +00:00
[SabreTools, Flags, DatFile, Utilities] Add SSV in/out
This commit is contained in:
@@ -2347,7 +2347,9 @@ namespace SabreTools.Library.DatFiles
|
|||||||
DatFile innerDatdata = new DatFile(this);
|
DatFile innerDatdata = new DatFile(this);
|
||||||
Globals.Logger.User("Processing '{0}'", Path.GetFileName(file.Split('¬')[0]));
|
Globals.Logger.User("Processing '{0}'", Path.GetFileName(file.Split('¬')[0]));
|
||||||
innerDatdata.Parse(file, 0, 0, splitType, keep: true, clean: clean, remUnicode: remUnicode, descAsName: descAsName,
|
innerDatdata.Parse(file, 0, 0, splitType, keep: true, clean: clean, remUnicode: remUnicode, descAsName: descAsName,
|
||||||
keepext: ((innerDatdata.DatFormat & DatFormat.TSV) != 0 || (innerDatdata.DatFormat & DatFormat.CSV) != 0));
|
keepext: ((innerDatdata.DatFormat & DatFormat.TSV) != 0
|
||||||
|
|| (innerDatdata.DatFormat & DatFormat.CSV) != 0
|
||||||
|
|| (innerDatdata.DatFormat & DatFormat.SSV) != 0));
|
||||||
filter.FilterDatFile(innerDatdata);
|
filter.FilterDatFile(innerDatdata);
|
||||||
|
|
||||||
// Get the correct output path
|
// Get the correct output path
|
||||||
@@ -5793,6 +5795,12 @@ namespace SabreTools.Library.DatFiles
|
|||||||
outfileNames.Add(DatFormat.SoftwareList, CreateOutfileNamesHelper(outDir, ".sl.xml", overwrite));
|
outfileNames.Add(DatFormat.SoftwareList, CreateOutfileNamesHelper(outDir, ".sl.xml", overwrite));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// SSV
|
||||||
|
if ((DatFormat & DatFormat.SSV) != 0)
|
||||||
|
{
|
||||||
|
outfileNames.Add(DatFormat.SSV, CreateOutfileNamesHelper(outDir, ".ssv", overwrite));
|
||||||
|
};
|
||||||
|
|
||||||
// TSV
|
// TSV
|
||||||
if ((DatFormat & DatFormat.TSV) != 0)
|
if ((DatFormat & DatFormat.TSV) != 0)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -206,8 +206,9 @@ namespace SabreTools.Library.Data
|
|||||||
|
|
||||||
// Standardized Text Formats
|
// Standardized Text Formats
|
||||||
MissFile = AttractMode << 1,
|
MissFile = AttractMode << 1,
|
||||||
CSV = MissFile << 1,
|
CSV = MissFile << 1, // Comma-separated
|
||||||
TSV = CSV << 1,
|
SSV = CSV << 1, // Semicolon-separated
|
||||||
|
TSV = SSV << 1, // Tab-separated
|
||||||
Listrom = TSV << 1,
|
Listrom = TSV << 1,
|
||||||
|
|
||||||
// SFV-similar Formats
|
// SFV-similar Formats
|
||||||
|
|||||||
@@ -256,7 +256,10 @@ Options:
|
|||||||
|
|
||||||
-osl, --output-softwarelist Output in Software List format
|
-osl, --output-softwarelist Output in Software List format
|
||||||
Add outputting the created DAT to Software List XML format
|
Add outputting the created DAT to Software List XML format
|
||||||
|
|
||||||
|
-ossv, --output-ssv Output in Semicolon-Separated Value format
|
||||||
|
Add outputting the created DAT to standardized SSV format
|
||||||
|
|
||||||
-otsv, --output-tsv Output in Tab-Separated Value format
|
-otsv, --output-tsv Output in Tab-Separated Value format
|
||||||
Add outputting the created DAT to standardized TSV format
|
Add outputting the created DAT to standardized TSV format
|
||||||
|
|
||||||
@@ -467,7 +470,10 @@ Options:
|
|||||||
|
|
||||||
-osl, --output-softwarelist Output in Software List format
|
-osl, --output-softwarelist Output in Software List format
|
||||||
Add outputting the created DAT to Software List XML format
|
Add outputting the created DAT to Software List XML format
|
||||||
|
|
||||||
|
-ossv, --output-ssv Output in Semicolon-Separated Value format
|
||||||
|
Add outputting the created DAT to standardized SSV format
|
||||||
|
|
||||||
-otsv, --output-tsv Output in Tab-Separated Value format
|
-otsv, --output-tsv Output in Tab-Separated Value format
|
||||||
Add outputting the created DAT to standardized TSV format
|
Add outputting the created DAT to standardized TSV format
|
||||||
|
|
||||||
@@ -922,7 +928,30 @@ Options:
|
|||||||
|
|
||||||
-osl, --output-softwarelist Output in Software List format
|
-osl, --output-softwarelist Output in Software List format
|
||||||
Add outputting the created DAT to Software List XML format
|
Add outputting the created DAT to Software List XML format
|
||||||
|
|
||||||
|
-ossv, --output-ssv Output in Semicolon-Separated Value format
|
||||||
|
Add outputting the created DAT to standardized SSV format
|
||||||
|
|
||||||
|
-pre=, --prefix= Set prefix for all lines
|
||||||
|
Set a generic prefix to be prepended to all outputted lines
|
||||||
|
|
||||||
|
-post=, --postfix= Set postfix for all lines
|
||||||
|
Set a generic postfix to be appended to all outputted lines
|
||||||
|
|
||||||
|
Both prefix and postfix can use one of the following strings:
|
||||||
|
- %game% - Replaced with the Game/Machine name
|
||||||
|
- %name% - Replaced with the Rom name
|
||||||
|
- %crc% - Replaced with the CRC
|
||||||
|
- %md5% - Replaced with the MD5
|
||||||
|
- %sha1% - Replaced with the SHA-1
|
||||||
|
- %sha256% - Replaced with the SHA-256
|
||||||
|
- %sha384% - Replaced with the SHA-384
|
||||||
|
- %sha512% - Replaced with the SHA-512
|
||||||
|
- %size% - Replaced with the size
|
||||||
|
|
||||||
|
-q, --quotes Put double-quotes around each item
|
||||||
|
This quotes only the item and not the prefix and postfix
|
||||||
|
|
||||||
-otsv, --output-tsv Output in Tab-Separated Value format
|
-otsv, --output-tsv Output in Tab-Separated Value format
|
||||||
Add outputting the created DAT to standardized TSV format
|
Add outputting the created DAT to standardized TSV format
|
||||||
|
|
||||||
|
|||||||
@@ -619,6 +619,8 @@ namespace SabreTools.Library.Tools
|
|||||||
return new SabreDat(baseDat);
|
return new SabreDat(baseDat);
|
||||||
case DatFormat.SoftwareList:
|
case DatFormat.SoftwareList:
|
||||||
return new SoftwareList(baseDat);
|
return new SoftwareList(baseDat);
|
||||||
|
case DatFormat.SSV:
|
||||||
|
return new DatFiles.SeparatedValue(baseDat, ';');
|
||||||
case DatFormat.TSV:
|
case DatFormat.TSV:
|
||||||
return new DatFiles.SeparatedValue(baseDat, '\t');
|
return new DatFiles.SeparatedValue(baseDat, '\t');
|
||||||
}
|
}
|
||||||
@@ -1035,6 +1037,8 @@ namespace SabreTools.Library.Tools
|
|||||||
return DatFormat.RedumpSHA384;
|
return DatFormat.RedumpSHA384;
|
||||||
case "sha512":
|
case "sha512":
|
||||||
return DatFormat.RedumpSHA512;
|
return DatFormat.RedumpSHA512;
|
||||||
|
case "ssv":
|
||||||
|
return DatFormat.SSV;
|
||||||
case "tsv":
|
case "tsv":
|
||||||
return DatFormat.TSV;
|
return DatFormat.TSV;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -687,6 +687,17 @@ namespace SabreTools
|
|||||||
null);
|
null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
private static Feature outputSsvFlag
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return new Feature(
|
||||||
|
new List<string>() { "-ossv", "--output-ssv" },
|
||||||
|
"Output in SSV format",
|
||||||
|
FeatureType.Flag,
|
||||||
|
null);
|
||||||
|
}
|
||||||
|
}
|
||||||
private static Feature outputTsvFlag
|
private static Feature outputTsvFlag
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
@@ -1992,6 +2003,7 @@ namespace SabreTools
|
|||||||
datFromDir.AddFeature("output-sha384", outputSha384Flag);
|
datFromDir.AddFeature("output-sha384", outputSha384Flag);
|
||||||
datFromDir.AddFeature("output-sha512", outputSha512Flag);
|
datFromDir.AddFeature("output-sha512", outputSha512Flag);
|
||||||
datFromDir.AddFeature("output-softwarelist", outputSoftwarelistFlag);
|
datFromDir.AddFeature("output-softwarelist", outputSoftwarelistFlag);
|
||||||
|
datFromDir.AddFeature("output-ssv", outputSsvFlag);
|
||||||
datFromDir.AddFeature("output-tsv", outputTsvFlag);
|
datFromDir.AddFeature("output-tsv", outputTsvFlag);
|
||||||
datFromDir.AddFeature("output-xml", outputXmlFlag);
|
datFromDir.AddFeature("output-xml", outputXmlFlag);
|
||||||
datFromDir.AddFeature("romba", rombaFlag);
|
datFromDir.AddFeature("romba", rombaFlag);
|
||||||
@@ -2117,6 +2129,7 @@ namespace SabreTools
|
|||||||
split.AddFeature("output-sha384", outputSha384Flag);
|
split.AddFeature("output-sha384", outputSha384Flag);
|
||||||
split.AddFeature("output-sha512", outputSha512Flag);
|
split.AddFeature("output-sha512", outputSha512Flag);
|
||||||
split.AddFeature("output-softwarelist", outputSoftwarelistFlag);
|
split.AddFeature("output-softwarelist", outputSoftwarelistFlag);
|
||||||
|
split.AddFeature("output-ssv", outputSsvFlag);
|
||||||
split.AddFeature("output-tsv", outputTsvFlag);
|
split.AddFeature("output-tsv", outputTsvFlag);
|
||||||
split.AddFeature("output-xml", outputXmlFlag);
|
split.AddFeature("output-xml", outputXmlFlag);
|
||||||
split.AddFeature("output-dir", outputDirStringInput);
|
split.AddFeature("output-dir", outputDirStringInput);
|
||||||
@@ -2209,6 +2222,10 @@ namespace SabreTools
|
|||||||
update.AddFeature("output-sha512", outputSha512Flag);
|
update.AddFeature("output-sha512", outputSha512Flag);
|
||||||
update["output-sha512"].AddFeature("game-prefix", gamePrefixFlag);
|
update["output-sha512"].AddFeature("game-prefix", gamePrefixFlag);
|
||||||
update.AddFeature("output-softwarelist", outputSoftwarelistFlag);
|
update.AddFeature("output-softwarelist", outputSoftwarelistFlag);
|
||||||
|
update.AddFeature("output-ssv", outputSsvFlag);
|
||||||
|
update["output-ssv"].AddFeature("prefix", prefixStringInput);
|
||||||
|
update["output-ssv"].AddFeature("postfix", postfixStringInput);
|
||||||
|
update["output-ssv"].AddFeature("quotes", quotesFlag);
|
||||||
update.AddFeature("output-tsv", outputTsvFlag);
|
update.AddFeature("output-tsv", outputTsvFlag);
|
||||||
update["output-tsv"].AddFeature("prefix", prefixStringInput);
|
update["output-tsv"].AddFeature("prefix", prefixStringInput);
|
||||||
update["output-tsv"].AddFeature("postfix", postfixStringInput);
|
update["output-tsv"].AddFeature("postfix", postfixStringInput);
|
||||||
|
|||||||
@@ -366,6 +366,9 @@ namespace SabreTools
|
|||||||
case "output-softwarelist":
|
case "output-softwarelist":
|
||||||
datHeader.DatFormat |= DatFormat.SoftwareList;
|
datHeader.DatFormat |= DatFormat.SoftwareList;
|
||||||
break;
|
break;
|
||||||
|
case "output-ssv":
|
||||||
|
datHeader.DatFormat |= DatFormat.SSV;
|
||||||
|
break;
|
||||||
case "output-tsv":
|
case "output-tsv":
|
||||||
datHeader.DatFormat |= DatFormat.TSV;
|
datHeader.DatFormat |= DatFormat.TSV;
|
||||||
break;
|
break;
|
||||||
|
|||||||
Reference in New Issue
Block a user