mirror of
https://github.com/claunia/SabreTools.git
synced 2025-12-16 19:14:27 +00:00
[DatFile, Reports/, Utilities] Make reports also in a factory
This commit is contained in:
@@ -5702,25 +5702,7 @@ namespace SabreTools.Library.DatFiles
|
|||||||
// Loop through and output based on the inputs
|
// Loop through and output based on the inputs
|
||||||
foreach (KeyValuePair<StatReportFormat, string> kvp in outputs)
|
foreach (KeyValuePair<StatReportFormat, string> kvp in outputs)
|
||||||
{
|
{
|
||||||
// Create the proper report for this format
|
reports.Add(Utilities.CreateBaseReportFromType(kvp.Key, kvp.Value, baddumpCol, nodumpCol));
|
||||||
BaseReport report = null;
|
|
||||||
switch (kvp.Key)
|
|
||||||
{
|
|
||||||
case StatReportFormat.Textfile:
|
|
||||||
report = new Textfile(null, kvp.Value, baddumpCol, nodumpCol);
|
|
||||||
break;
|
|
||||||
case StatReportFormat.CSV:
|
|
||||||
report = new Reports.SeparatedValue(null, kvp.Value, ',', baddumpCol, nodumpCol);
|
|
||||||
break;
|
|
||||||
case StatReportFormat.HTML:
|
|
||||||
report = new Html(null, kvp.Value, baddumpCol, nodumpCol);
|
|
||||||
break;
|
|
||||||
case StatReportFormat.TSV:
|
|
||||||
report = new Reports.SeparatedValue(null, kvp.Value, '\t', baddumpCol, nodumpCol);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
reports.Add(report);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Write the header, if any
|
// Write the header, if any
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ namespace SabreTools.Library.Reports
|
|||||||
/// HTML report format
|
/// HTML report format
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// TODO: Make output standard width, without making the entire thing a table
|
/// TODO: Make output standard width, without making the entire thing a table
|
||||||
public class Html : BaseReport
|
internal class Html : BaseReport
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Create a new report from the input DatFile and the filename
|
/// Create a new report from the input DatFile and the filename
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ namespace SabreTools.Library.Reports
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Separated-Value report format
|
/// Separated-Value report format
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class SeparatedValue : BaseReport
|
internal class SeparatedValue : BaseReport
|
||||||
{
|
{
|
||||||
private char _separator;
|
private char _separator;
|
||||||
|
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ namespace SabreTools.Library.Reports
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Textfile report format
|
/// Textfile report format
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class Textfile : BaseReport
|
internal class Textfile : BaseReport
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Create a new report from the input DatFile and the filename
|
/// Create a new report from the input DatFile and the filename
|
||||||
|
|||||||
@@ -11,9 +11,10 @@ using System.Xml.Schema;
|
|||||||
|
|
||||||
using SabreTools.Library.Data;
|
using SabreTools.Library.Data;
|
||||||
using SabreTools.Library.DatFiles;
|
using SabreTools.Library.DatFiles;
|
||||||
|
using SabreTools.Library.DatItems;
|
||||||
using SabreTools.Library.External;
|
using SabreTools.Library.External;
|
||||||
using SabreTools.Library.FileTypes;
|
using SabreTools.Library.FileTypes;
|
||||||
using SabreTools.Library.DatItems;
|
using SabreTools.Library.Reports;
|
||||||
using SabreTools.Library.Skippers;
|
using SabreTools.Library.Skippers;
|
||||||
|
|
||||||
#if MONO
|
#if MONO
|
||||||
@@ -552,7 +553,7 @@ namespace SabreTools.Library.Tools
|
|||||||
case DatFormat.ClrMamePro:
|
case DatFormat.ClrMamePro:
|
||||||
return new ClrMamePro(baseDat);
|
return new ClrMamePro(baseDat);
|
||||||
case DatFormat.CSV:
|
case DatFormat.CSV:
|
||||||
return new SeparatedValue(baseDat, ',');
|
return new DatFiles.SeparatedValue(baseDat, ',');
|
||||||
case DatFormat.DOSCenter:
|
case DatFormat.DOSCenter:
|
||||||
return new DosCenter(baseDat);
|
return new DosCenter(baseDat);
|
||||||
case DatFormat.Listroms:
|
case DatFormat.Listroms:
|
||||||
@@ -582,7 +583,32 @@ namespace SabreTools.Library.Tools
|
|||||||
case DatFormat.SoftwareList:
|
case DatFormat.SoftwareList:
|
||||||
return new SoftwareList(baseDat);
|
return new SoftwareList(baseDat);
|
||||||
case DatFormat.TSV:
|
case DatFormat.TSV:
|
||||||
return new SeparatedValue(baseDat, '\t');
|
return new DatFiles.SeparatedValue(baseDat, '\t');
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Create a specific type of BaseReport to be used based on a format and user inputs
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="statReportFormat">Format of the Statistics Report to be created</param>
|
||||||
|
/// <param name="filename">Name of the file to write out to</param>
|
||||||
|
/// <param name="baddumpCol">True if baddumps should be included in output, false otherwise</param>
|
||||||
|
/// <param name="nodumpCol">True if nodumps should be included in output, false otherwise</param>
|
||||||
|
/// <returns>BaseReport of the specific internal type that corresponds to the inputs</returns>
|
||||||
|
public static BaseReport CreateBaseReportFromType(StatReportFormat statReportFormat, string filename, bool baddumpCol, bool nodumpCol)
|
||||||
|
{
|
||||||
|
switch (statReportFormat)
|
||||||
|
{
|
||||||
|
case StatReportFormat.Textfile:
|
||||||
|
return new Textfile(null, filename, baddumpCol, nodumpCol);
|
||||||
|
case StatReportFormat.CSV:
|
||||||
|
return new Reports.SeparatedValue(null, filename, ',', baddumpCol, nodumpCol);
|
||||||
|
case StatReportFormat.HTML:
|
||||||
|
return new Html(null, filename, baddumpCol, nodumpCol);
|
||||||
|
case StatReportFormat.TSV:
|
||||||
|
return new Reports.SeparatedValue(null, filename, '\t', baddumpCol, nodumpCol);
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
|
|||||||
Reference in New Issue
Block a user