mirror of
https://github.com/SabreTools/SabreTools.Serialization.git
synced 2026-07-08 18:06:41 +00:00
Migrate most header string keys to properties
This commit is contained in:
@@ -258,18 +258,40 @@ namespace SabreTools.Data.Extensions
|
||||
}
|
||||
else if (self is Header selfHeader && clone is Header cloneHeader)
|
||||
{
|
||||
cloneHeader.Author = selfHeader.Author;
|
||||
cloneHeader.BiosMode = selfHeader.BiosMode;
|
||||
cloneHeader.Build = selfHeader.Build;
|
||||
cloneHeader.Category = selfHeader.Category;
|
||||
cloneHeader.Comment = selfHeader.Comment;
|
||||
cloneHeader.Date = selfHeader.Date;
|
||||
cloneHeader.DatVersion = selfHeader.DatVersion;
|
||||
cloneHeader.Debug = selfHeader.Debug;
|
||||
cloneHeader.Description = selfHeader.Description;
|
||||
cloneHeader.Email = selfHeader.Email;
|
||||
cloneHeader.EmulatorVersion = selfHeader.EmulatorVersion;
|
||||
cloneHeader.ForceMerging = selfHeader.ForceMerging;
|
||||
cloneHeader.ForceNodump = selfHeader.ForceNodump;
|
||||
cloneHeader.ForcePacking = selfHeader.ForcePacking;
|
||||
cloneHeader.ForceZipping = selfHeader.ForceZipping;
|
||||
cloneHeader.Homepage = selfHeader.Homepage;
|
||||
cloneHeader.Id = selfHeader.Id;
|
||||
cloneHeader.LockBiosMode = selfHeader.LockBiosMode;
|
||||
cloneHeader.LockRomMode = selfHeader.LockRomMode;
|
||||
cloneHeader.LockSampleMode = selfHeader.LockSampleMode;
|
||||
cloneHeader.MameConfig = selfHeader.MameConfig;
|
||||
cloneHeader.Name = selfHeader.Name;
|
||||
cloneHeader.Notes = selfHeader.Notes;
|
||||
cloneHeader.Plugin = selfHeader.Plugin;
|
||||
cloneHeader.RefName = selfHeader.RefName;
|
||||
cloneHeader.RomMode = selfHeader.RomMode;
|
||||
cloneHeader.RomTitle = selfHeader.RomTitle;
|
||||
cloneHeader.RootDir = selfHeader.RootDir;
|
||||
cloneHeader.SampleMode = selfHeader.SampleMode;
|
||||
cloneHeader.System = selfHeader.System;
|
||||
cloneHeader.Timestamp = selfHeader.Timestamp;
|
||||
cloneHeader.Type = selfHeader.Type;
|
||||
cloneHeader.Url = selfHeader.Url;
|
||||
cloneHeader.Version = selfHeader.Version;
|
||||
}
|
||||
else if (self is Info selfInfo && clone is Info cloneInfo)
|
||||
{
|
||||
|
||||
@@ -8,14 +8,30 @@ namespace SabreTools.Data.Models.Metadata
|
||||
{
|
||||
#region Properties
|
||||
|
||||
public string? Author { get; set; }
|
||||
|
||||
/// <remarks>(none|split|merged|nonmerged|fullmerged|device|full) "split"</remarks>
|
||||
public MergingFlag BiosMode { get; set; }
|
||||
|
||||
public string? Build { get; set; }
|
||||
|
||||
public string? Category { get; set; }
|
||||
|
||||
public string? Comment { get; set; }
|
||||
|
||||
public string? Date { get; set; }
|
||||
|
||||
public string? DatVersion { get; set; }
|
||||
|
||||
/// <remarks>(yes|no) "no"</remarks>
|
||||
public bool? Debug { get; set; }
|
||||
|
||||
public string? Description { get; set; }
|
||||
|
||||
public string? Email { get; set; }
|
||||
|
||||
public string? EmulatorVersion { get; set; }
|
||||
|
||||
/// <remarks>(none|split|merged|nonmerged|fullmerged|device|full) "split"</remarks>
|
||||
public MergingFlag ForceMerging { get; set; }
|
||||
|
||||
@@ -28,6 +44,10 @@ namespace SabreTools.Data.Models.Metadata
|
||||
/// <remarks>(yes|no) "yes"</remarks>
|
||||
public bool? ForceZipping { get; set; }
|
||||
|
||||
public string? Homepage { get; set; }
|
||||
|
||||
public string? Id { get; set; }
|
||||
|
||||
/// <remarks>(yes|no) "no"</remarks>
|
||||
public bool? LockBiosMode { get; set; }
|
||||
|
||||
@@ -37,56 +57,48 @@ namespace SabreTools.Data.Models.Metadata
|
||||
/// <remarks>(yes|no) "no"</remarks>
|
||||
public bool? LockSampleMode { get; set; }
|
||||
|
||||
public string? MameConfig { get; set; }
|
||||
|
||||
public string? Name { get; set; }
|
||||
|
||||
public string? Notes { get; set; }
|
||||
|
||||
public string? Plugin { get; set; }
|
||||
|
||||
public string? RefName { get; set; }
|
||||
|
||||
/// <remarks>(none|split|merged|nonmerged|fullmerged|device|full) "split"</remarks>
|
||||
public MergingFlag RomMode { get; set; }
|
||||
|
||||
public string? RomTitle { get; set; }
|
||||
|
||||
public string? RootDir { get; set; }
|
||||
|
||||
/// <remarks>(none|split|merged|nonmerged|fullmerged|device|full) "split"</remarks>
|
||||
public MergingFlag SampleMode { get; set; }
|
||||
|
||||
public string? System { get; set; }
|
||||
|
||||
public string? Timestamp { get; set; }
|
||||
|
||||
public string? Type { get; set; }
|
||||
|
||||
public string? Url { get; set; }
|
||||
|
||||
public string? Version { get; set; }
|
||||
|
||||
#endregion
|
||||
|
||||
#region Keys
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string AuthorKey = "author";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string BuildKey = "build";
|
||||
|
||||
/// TODO: This needs an internal model OR mapping to fields
|
||||
/// <remarks>CanOpen</remarks>
|
||||
[NoFilter]
|
||||
public const string CanOpenKey = "canOpen";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string CategoryKey = "category";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string CommentKey = "comment";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string DateKey = "date";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string DatVersionKey = "datversion";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string EmailKey = "email";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string EmulatorVersionKey = "emulatorversion";
|
||||
|
||||
/// <remarks>string, string[]</remarks>
|
||||
public const string HeaderKey = "header";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string HomepageKey = "homepage";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string IdKey = "id";
|
||||
|
||||
/// TODO: This needs an internal model OR mapping to fields
|
||||
/// <remarks>Search</remarks>
|
||||
[NoFilter]
|
||||
@@ -100,29 +112,11 @@ namespace SabreTools.Data.Models.Metadata
|
||||
[NoFilter]
|
||||
public const string InfosKey = "infos";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string MameConfigKey = "mameconfig";
|
||||
|
||||
/// TODO: This needs an internal model OR mapping to fields
|
||||
/// <remarks>NewDat</remarks>
|
||||
[NoFilter]
|
||||
public const string NewDatKey = "newDat";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string NotesKey = "notes";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string PluginKey = "plugin";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string RefNameKey = "refname";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string RomTitleKey = "romTitle";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string RootDirKey = "rootdir";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string SchemaLocationKey = "schemaLocation";
|
||||
|
||||
@@ -137,21 +131,6 @@ namespace SabreTools.Data.Models.Metadata
|
||||
[NoFilter]
|
||||
public const string SearchKey = "search";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string SystemKey = "system";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string TimestampKey = "timestamp";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string TypeKey = "type";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string UrlKey = "url";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string VersionKey = "version";
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
||||
@@ -201,50 +201,50 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
|
||||
return new Data.Models.Metadata.Header
|
||||
{
|
||||
[Data.Models.Metadata.Header.AuthorKey] = "author",
|
||||
Author = "author",
|
||||
BiosMode = Data.Models.Metadata.MergingFlag.Merged,
|
||||
[Data.Models.Metadata.Header.BuildKey] = "build",
|
||||
Build = "build",
|
||||
[Data.Models.Metadata.Header.CanOpenKey] = canOpen,
|
||||
[Data.Models.Metadata.Header.CategoryKey] = "category",
|
||||
[Data.Models.Metadata.Header.CommentKey] = "comment",
|
||||
[Data.Models.Metadata.Header.DateKey] = "date",
|
||||
[Data.Models.Metadata.Header.DatVersionKey] = "datversion",
|
||||
Category = "category",
|
||||
Comment = "comment",
|
||||
Date = "date",
|
||||
DatVersion = "datversion",
|
||||
Debug = true,
|
||||
Description = "description",
|
||||
[Data.Models.Metadata.Header.EmailKey] = "email",
|
||||
[Data.Models.Metadata.Header.EmulatorVersionKey] = "emulatorversion",
|
||||
Email = "email",
|
||||
EmulatorVersion = "emulatorversion",
|
||||
ForceMerging = Data.Models.Metadata.MergingFlag.Merged,
|
||||
ForceNodump = Data.Models.Metadata.NodumpFlag.Required,
|
||||
ForcePacking = Data.Models.Metadata.PackingFlag.Zip,
|
||||
ForceZipping = true,
|
||||
[Data.Models.Metadata.Header.HeaderKey] = "header",
|
||||
[Data.Models.Metadata.Header.HomepageKey] = "homepage",
|
||||
[Data.Models.Metadata.Header.IdKey] = "id",
|
||||
Homepage = "homepage",
|
||||
Id = "id",
|
||||
[Data.Models.Metadata.Header.ImagesKey] = images,
|
||||
[Data.Models.Metadata.Header.ImFolderKey] = "imfolder",
|
||||
[Data.Models.Metadata.Header.InfosKey] = infos,
|
||||
LockBiosMode = true,
|
||||
LockRomMode = true,
|
||||
LockSampleMode = true,
|
||||
[Data.Models.Metadata.Header.MameConfigKey] = "mameconfig",
|
||||
MameConfig = "mameconfig",
|
||||
Name = "name",
|
||||
[Data.Models.Metadata.Header.NewDatKey] = newDat,
|
||||
[Data.Models.Metadata.Header.NotesKey] = "notes",
|
||||
[Data.Models.Metadata.Header.PluginKey] = "plugin",
|
||||
[Data.Models.Metadata.Header.RefNameKey] = "refname",
|
||||
Notes = "notes",
|
||||
Plugin = "plugin",
|
||||
RefName = "refname",
|
||||
RomMode = Data.Models.Metadata.MergingFlag.Merged,
|
||||
[Data.Models.Metadata.Header.RomTitleKey] = "romtitle",
|
||||
[Data.Models.Metadata.Header.RootDirKey] = "rootdir",
|
||||
RomTitle = "romtitle",
|
||||
RootDir = "rootdir",
|
||||
SampleMode = Data.Models.Metadata.MergingFlag.Merged,
|
||||
[Data.Models.Metadata.Header.SchemaLocationKey] = "schemalocation",
|
||||
[Data.Models.Metadata.Header.ScreenshotsHeightKey] = "screenshotsheight",
|
||||
[Data.Models.Metadata.Header.ScreenshotsWidthKey] = "screenshotsWidth",
|
||||
[Data.Models.Metadata.Header.SearchKey] = search,
|
||||
[Data.Models.Metadata.Header.SystemKey] = "system",
|
||||
[Data.Models.Metadata.Header.TimestampKey] = "timestamp",
|
||||
[Data.Models.Metadata.Header.TypeKey] = "type",
|
||||
[Data.Models.Metadata.Header.UrlKey] = "url",
|
||||
[Data.Models.Metadata.Header.VersionKey] = "version",
|
||||
System = "system",
|
||||
Timestamp = "timestamp",
|
||||
Type = "type",
|
||||
Url = "url",
|
||||
Version = "version",
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1037,50 +1037,50 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
|
||||
private static void ValidateHeader(DatHeader datHeader)
|
||||
{
|
||||
Assert.Equal("author", datHeader.ReadString(Data.Models.Metadata.Header.AuthorKey));
|
||||
Assert.Equal("author", datHeader.Author);
|
||||
Assert.Equal(Data.Models.Metadata.MergingFlag.Merged, datHeader.BiosMode);
|
||||
Assert.Equal("build", datHeader.ReadString(Data.Models.Metadata.Header.BuildKey));
|
||||
Assert.Equal("build", datHeader.Build);
|
||||
Assert.Equal("ext", datHeader.ReadString(Data.Models.Metadata.Header.CanOpenKey));
|
||||
Assert.Equal("category", datHeader.ReadString(Data.Models.Metadata.Header.CategoryKey));
|
||||
Assert.Equal("comment", datHeader.ReadString(Data.Models.Metadata.Header.CommentKey));
|
||||
Assert.Equal("date", datHeader.ReadString(Data.Models.Metadata.Header.DateKey));
|
||||
Assert.Equal("datversion", datHeader.ReadString(Data.Models.Metadata.Header.DatVersionKey));
|
||||
Assert.Equal("category", datHeader.Category);
|
||||
Assert.Equal("comment", datHeader.Comment);
|
||||
Assert.Equal("date", datHeader.Date);
|
||||
Assert.Equal("datversion", datHeader.DatVersion);
|
||||
Assert.True(datHeader.Debug);
|
||||
Assert.Equal("description", datHeader.Description);
|
||||
Assert.Equal("email", datHeader.ReadString(Data.Models.Metadata.Header.EmailKey));
|
||||
Assert.Equal("emulatorversion", datHeader.ReadString(Data.Models.Metadata.Header.EmulatorVersionKey));
|
||||
Assert.Equal("email", datHeader.Email);
|
||||
Assert.Equal("emulatorversion", datHeader.EmulatorVersion);
|
||||
Assert.Equal(Data.Models.Metadata.MergingFlag.Merged, datHeader.ForceMerging);
|
||||
Assert.Equal(Data.Models.Metadata.NodumpFlag.Required, datHeader.ForceNodump);
|
||||
Assert.Equal(Data.Models.Metadata.PackingFlag.Zip, datHeader.ForcePacking);
|
||||
Assert.True(datHeader.ForceZipping);
|
||||
Assert.Equal("header", datHeader.ReadString(Data.Models.Metadata.Header.HeaderKey));
|
||||
Assert.Equal("homepage", datHeader.ReadString(Data.Models.Metadata.Header.HomepageKey));
|
||||
Assert.Equal("id", datHeader.ReadString(Data.Models.Metadata.Header.IdKey));
|
||||
Assert.Equal("homepage", datHeader.Homepage);
|
||||
Assert.Equal("id", datHeader.Id);
|
||||
Assert.NotNull(datHeader.ReadString(Data.Models.Metadata.Header.ImagesKey));
|
||||
Assert.Equal("imfolder", datHeader.ReadString(Data.Models.Metadata.Header.ImFolderKey));
|
||||
Assert.NotNull(datHeader.ReadString(Data.Models.Metadata.Header.InfosKey));
|
||||
Assert.True(datHeader.LockBiosMode);
|
||||
Assert.True(datHeader.LockRomMode);
|
||||
Assert.True(datHeader.LockSampleMode);
|
||||
Assert.Equal("mameconfig", datHeader.ReadString(Data.Models.Metadata.Header.MameConfigKey));
|
||||
Assert.Equal("mameconfig", datHeader.MameConfig);
|
||||
Assert.Equal("name", datHeader.Name);
|
||||
Assert.NotNull(datHeader.ReadString(Data.Models.Metadata.Header.NewDatKey));
|
||||
Assert.Equal("notes", datHeader.ReadString(Data.Models.Metadata.Header.NotesKey));
|
||||
Assert.Equal("plugin", datHeader.ReadString(Data.Models.Metadata.Header.PluginKey));
|
||||
Assert.Equal("refname", datHeader.ReadString(Data.Models.Metadata.Header.RefNameKey));
|
||||
Assert.Equal("notes", datHeader.Notes);
|
||||
Assert.Equal("plugin", datHeader.Plugin);
|
||||
Assert.Equal("refname", datHeader.RefName);
|
||||
Assert.Equal(Data.Models.Metadata.MergingFlag.Merged, datHeader.RomMode);
|
||||
Assert.Equal("romtitle", datHeader.ReadString(Data.Models.Metadata.Header.RomTitleKey));
|
||||
Assert.Equal("rootdir", datHeader.ReadString(Data.Models.Metadata.Header.RootDirKey));
|
||||
Assert.Equal("romtitle", datHeader.RomTitle);
|
||||
Assert.Equal("rootdir", datHeader.RootDir);
|
||||
Assert.Equal(Data.Models.Metadata.MergingFlag.Merged, datHeader.SampleMode);
|
||||
Assert.Equal("schemalocation", datHeader.ReadString(Data.Models.Metadata.Header.SchemaLocationKey));
|
||||
Assert.Equal("screenshotsheight", datHeader.ReadString(Data.Models.Metadata.Header.ScreenshotsHeightKey));
|
||||
Assert.Equal("screenshotsWidth", datHeader.ReadString(Data.Models.Metadata.Header.ScreenshotsWidthKey));
|
||||
Assert.NotNull(datHeader.ReadString(Data.Models.Metadata.Header.SearchKey));
|
||||
Assert.Equal("system", datHeader.ReadString(Data.Models.Metadata.Header.SystemKey));
|
||||
Assert.Equal("timestamp", datHeader.ReadString(Data.Models.Metadata.Header.TimestampKey));
|
||||
Assert.Equal("type", datHeader.ReadString(Data.Models.Metadata.Header.TypeKey));
|
||||
Assert.Equal("url", datHeader.ReadString(Data.Models.Metadata.Header.UrlKey));
|
||||
Assert.Equal("version", datHeader.ReadString(Data.Models.Metadata.Header.VersionKey));
|
||||
Assert.Equal("system", datHeader.System);
|
||||
Assert.Equal("timestamp", datHeader.Timestamp);
|
||||
Assert.Equal("type", datHeader.Type);
|
||||
Assert.Equal("url", datHeader.Url);
|
||||
Assert.Equal("version", datHeader.Version);
|
||||
}
|
||||
|
||||
#pragma warning disable IDE0051
|
||||
|
||||
@@ -373,50 +373,50 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
private static void ValidateMetadataHeader(Data.Models.Metadata.Header? header)
|
||||
{
|
||||
Assert.NotNull(header);
|
||||
Assert.Equal("author", header.ReadString(Data.Models.Metadata.Header.AuthorKey));
|
||||
Assert.Equal("author", header.Author);
|
||||
Assert.Equal(Data.Models.Metadata.MergingFlag.Merged, header.BiosMode);
|
||||
Assert.Equal("build", header.ReadString(Data.Models.Metadata.Header.BuildKey));
|
||||
Assert.Equal("build", header.Build);
|
||||
Assert.NotNull(header.Read<Data.Models.OfflineList.CanOpen>(Data.Models.Metadata.Header.CanOpenKey));
|
||||
Assert.Equal("category", header.ReadString(Data.Models.Metadata.Header.CategoryKey));
|
||||
Assert.Equal("comment", header.ReadString(Data.Models.Metadata.Header.CommentKey));
|
||||
Assert.Equal("date", header.ReadString(Data.Models.Metadata.Header.DateKey));
|
||||
Assert.Equal("datversion", header.ReadString(Data.Models.Metadata.Header.DatVersionKey));
|
||||
Assert.Equal("category", header.Category);
|
||||
Assert.Equal("comment", header.Comment);
|
||||
Assert.Equal("date", header.Date);
|
||||
Assert.Equal("datversion", header.DatVersion);
|
||||
Assert.True(header.Debug);
|
||||
Assert.Equal("description", header.Description);
|
||||
Assert.Equal("email", header.ReadString(Data.Models.Metadata.Header.EmailKey));
|
||||
Assert.Equal("emulatorversion", header.ReadString(Data.Models.Metadata.Header.EmulatorVersionKey));
|
||||
Assert.Equal("email", header.Email);
|
||||
Assert.Equal("emulatorversion", header.EmulatorVersion);
|
||||
Assert.Equal(Data.Models.Metadata.MergingFlag.Merged, header.ForceMerging);
|
||||
Assert.Equal(Data.Models.Metadata.NodumpFlag.Required, header.ForceNodump);
|
||||
Assert.Equal(Data.Models.Metadata.PackingFlag.Zip, header.ForcePacking);
|
||||
Assert.True(header.ForceZipping);
|
||||
Assert.Equal("header", header.ReadString(Data.Models.Metadata.Header.HeaderKey));
|
||||
Assert.Equal("homepage", header.ReadString(Data.Models.Metadata.Header.HomepageKey));
|
||||
Assert.Equal("id", header.ReadString(Data.Models.Metadata.Header.IdKey));
|
||||
Assert.Equal("homepage", header.Homepage);
|
||||
Assert.Equal("id", header.Id);
|
||||
Assert.NotNull(header.Read<Data.Models.OfflineList.Images>(Data.Models.Metadata.Header.ImagesKey));
|
||||
Assert.Equal("imfolder", header.ReadString(Data.Models.Metadata.Header.ImFolderKey));
|
||||
Assert.NotNull(header.Read<Data.Models.OfflineList.Infos>(Data.Models.Metadata.Header.InfosKey));
|
||||
Assert.True(header.LockBiosMode);
|
||||
Assert.True(header.LockRomMode);
|
||||
Assert.True(header.LockSampleMode);
|
||||
Assert.Equal("mameconfig", header.ReadString(Data.Models.Metadata.Header.MameConfigKey));
|
||||
Assert.Equal("mameconfig", header.MameConfig);
|
||||
Assert.Equal("name", header.Name);
|
||||
Assert.NotNull(header.Read<Data.Models.OfflineList.NewDat>(Data.Models.Metadata.Header.NewDatKey));
|
||||
Assert.Equal("notes", header.ReadString(Data.Models.Metadata.Header.NotesKey));
|
||||
Assert.Equal("plugin", header.ReadString(Data.Models.Metadata.Header.PluginKey));
|
||||
Assert.Equal("refname", header.ReadString(Data.Models.Metadata.Header.RefNameKey));
|
||||
Assert.Equal("notes", header.Notes);
|
||||
Assert.Equal("plugin", header.Plugin);
|
||||
Assert.Equal("refname", header.RefName);
|
||||
Assert.Equal(Data.Models.Metadata.MergingFlag.Merged, header.RomMode);
|
||||
Assert.Equal("romtitle", header.ReadString(Data.Models.Metadata.Header.RomTitleKey));
|
||||
Assert.Equal("rootdir", header.ReadString(Data.Models.Metadata.Header.RootDirKey));
|
||||
Assert.Equal("romtitle", header.RomTitle);
|
||||
Assert.Equal("rootdir", header.RootDir);
|
||||
Assert.Equal(Data.Models.Metadata.MergingFlag.Merged, header.SampleMode);
|
||||
Assert.Equal("schemalocation", header.ReadString(Data.Models.Metadata.Header.SchemaLocationKey));
|
||||
Assert.Equal("screenshotsheight", header.ReadString(Data.Models.Metadata.Header.ScreenshotsHeightKey));
|
||||
Assert.Equal("screenshotsWidth", header.ReadString(Data.Models.Metadata.Header.ScreenshotsWidthKey));
|
||||
Assert.NotNull(header.Read<Data.Models.OfflineList.Search>(Data.Models.Metadata.Header.SearchKey));
|
||||
Assert.Equal("system", header.ReadString(Data.Models.Metadata.Header.SystemKey));
|
||||
Assert.Equal("timestamp", header.ReadString(Data.Models.Metadata.Header.TimestampKey));
|
||||
Assert.Equal("type", header.ReadString(Data.Models.Metadata.Header.TypeKey));
|
||||
Assert.Equal("url", header.ReadString(Data.Models.Metadata.Header.UrlKey));
|
||||
Assert.Equal("version", header.ReadString(Data.Models.Metadata.Header.VersionKey));
|
||||
Assert.Equal("system", header.System);
|
||||
Assert.Equal("timestamp", header.Timestamp);
|
||||
Assert.Equal("type", header.Type);
|
||||
Assert.Equal("url", header.Url);
|
||||
Assert.Equal("version", header.Version);
|
||||
}
|
||||
|
||||
private static void ValidateMetadataMachine(Data.Models.Metadata.Machine machine)
|
||||
|
||||
@@ -115,7 +115,7 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
DatFile datFile = new Logiqx(datFile: null, useGame: false);
|
||||
datFile.Header.Name = string.Empty;
|
||||
datFile.Header.Description = string.Empty;
|
||||
datFile.Header.Write(Data.Models.Metadata.Header.DateKey, "1980-01-01");
|
||||
datFile.Header.Date = "1980-01-01";
|
||||
|
||||
string path = Path.Combine("Fake", "Path", "Filename");
|
||||
datFile.FillHeaderFromPath(path, false);
|
||||
@@ -130,7 +130,7 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
DatFile datFile = new Logiqx(datFile: null, useGame: false);
|
||||
datFile.Header.Name = string.Empty;
|
||||
datFile.Header.Description = string.Empty;
|
||||
datFile.Header.Write(Data.Models.Metadata.Header.DateKey, "1980-01-01");
|
||||
datFile.Header.Date = "1980-01-01";
|
||||
|
||||
string path = Path.Combine("Fake", "Path", "Filename");
|
||||
datFile.FillHeaderFromPath(path, true);
|
||||
@@ -145,7 +145,7 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
DatFile datFile = new Logiqx(datFile: null, useGame: false);
|
||||
datFile.Header.Name = string.Empty;
|
||||
datFile.Header.Description = "Description";
|
||||
datFile.Header.Write(Data.Models.Metadata.Header.DateKey, "1980-01-01");
|
||||
datFile.Header.Date = "1980-01-01";
|
||||
|
||||
string path = Path.Combine("Fake", "Path", "Filename");
|
||||
datFile.FillHeaderFromPath(path, false);
|
||||
@@ -160,7 +160,7 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
DatFile datFile = new Logiqx(datFile: null, useGame: false);
|
||||
datFile.Header.Name = string.Empty;
|
||||
datFile.Header.Description = "Description";
|
||||
datFile.Header.Write(Data.Models.Metadata.Header.DateKey, "1980-01-01");
|
||||
datFile.Header.Date = "1980-01-01";
|
||||
|
||||
string path = Path.Combine("Fake", "Path", "Filename");
|
||||
datFile.FillHeaderFromPath(path, true);
|
||||
@@ -175,7 +175,7 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
DatFile datFile = new Logiqx(datFile: null, useGame: false);
|
||||
datFile.Header.Name = "Name";
|
||||
datFile.Header.Description = string.Empty;
|
||||
datFile.Header.Write(Data.Models.Metadata.Header.DateKey, "1980-01-01");
|
||||
datFile.Header.Date = "1980-01-01";
|
||||
|
||||
string path = Path.Combine("Fake", "Path", "Filename");
|
||||
datFile.FillHeaderFromPath(path, false);
|
||||
@@ -190,7 +190,7 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
DatFile datFile = new Logiqx(datFile: null, useGame: false);
|
||||
datFile.Header.Name = "Name";
|
||||
datFile.Header.Description = string.Empty;
|
||||
datFile.Header.Write(Data.Models.Metadata.Header.DateKey, "1980-01-01");
|
||||
datFile.Header.Date = "1980-01-01";
|
||||
|
||||
string path = Path.Combine("Fake", "Path", "Filename");
|
||||
datFile.FillHeaderFromPath(path, true);
|
||||
@@ -205,7 +205,7 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
DatFile datFile = new Logiqx(datFile: null, useGame: false);
|
||||
datFile.Header.Name = "Name";
|
||||
datFile.Header.Description = "Description";
|
||||
datFile.Header.Write(Data.Models.Metadata.Header.DateKey, "1980-01-01");
|
||||
datFile.Header.Date = "1980-01-01";
|
||||
|
||||
string path = Path.Combine("Fake", "Path", "Filename");
|
||||
datFile.FillHeaderFromPath(path, false);
|
||||
@@ -220,7 +220,7 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
DatFile datFile = new Logiqx(datFile: null, useGame: false);
|
||||
datFile.Header.Name = "Name ";
|
||||
datFile.Header.Description = "Description ";
|
||||
datFile.Header.Write(Data.Models.Metadata.Header.DateKey, "1980-01-01");
|
||||
datFile.Header.Date = "1980-01-01";
|
||||
|
||||
string path = Path.Combine("Fake", "Path", "Filename");
|
||||
datFile.FillHeaderFromPath(path, true);
|
||||
|
||||
@@ -90,28 +90,28 @@ namespace SabreTools.Metadata.DatFiles
|
||||
Header.Write<Data.Models.OfflineList.Search?>(Data.Models.Metadata.Header.SearchKey, search);
|
||||
|
||||
// Selectively set all possible fields -- TODO: Figure out how to make this less manual
|
||||
if (Header.ReadString(Data.Models.Metadata.Header.AuthorKey) is null)
|
||||
Header.Write<string?>(Data.Models.Metadata.Header.AuthorKey, header.ReadString(Data.Models.Metadata.Header.AuthorKey));
|
||||
if (Header.Author is null)
|
||||
Header.Author = header.Author;
|
||||
if (Header.BiosMode == MergingFlag.None)
|
||||
Header.BiosMode = header.BiosMode;
|
||||
if (Header.ReadString(Data.Models.Metadata.Header.BuildKey) is null)
|
||||
Header.Write<string?>(Data.Models.Metadata.Header.BuildKey, header.ReadString(Data.Models.Metadata.Header.BuildKey));
|
||||
if (Header.ReadString(Data.Models.Metadata.Header.CategoryKey) is null)
|
||||
Header.Write<string?>(Data.Models.Metadata.Header.CategoryKey, header.ReadString(Data.Models.Metadata.Header.CategoryKey));
|
||||
if (Header.ReadString(Data.Models.Metadata.Header.CommentKey) is null)
|
||||
Header.Write<string?>(Data.Models.Metadata.Header.CommentKey, header.ReadString(Data.Models.Metadata.Header.CommentKey));
|
||||
if (Header.ReadString(Data.Models.Metadata.Header.DateKey) is null)
|
||||
Header.Write<string?>(Data.Models.Metadata.Header.DateKey, header.ReadString(Data.Models.Metadata.Header.DateKey));
|
||||
if (Header.ReadString(Data.Models.Metadata.Header.DatVersionKey) is null)
|
||||
Header.Write<string?>(Data.Models.Metadata.Header.DatVersionKey, header.ReadString(Data.Models.Metadata.Header.DatVersionKey));
|
||||
if (Header.Build is null)
|
||||
Header.Build = header.Build;
|
||||
if (Header.Category is null)
|
||||
Header.Category = header.Category;
|
||||
if (Header.Comment is null)
|
||||
Header.Comment = header.Comment;
|
||||
if (Header.Date is null)
|
||||
Header.Date = header.Date;
|
||||
if (Header.DatVersion is null)
|
||||
Header.DatVersion = header.DatVersion;
|
||||
if (Header.Debug is null)
|
||||
Header.Debug = header.Debug;
|
||||
if (Header.Description is null)
|
||||
Header.Description = header.Description;
|
||||
if (Header.ReadString(Data.Models.Metadata.Header.EmailKey) is null)
|
||||
Header.Write<string?>(Data.Models.Metadata.Header.EmailKey, header.ReadString(Data.Models.Metadata.Header.EmailKey));
|
||||
if (Header.ReadString(Data.Models.Metadata.Header.EmulatorVersionKey) is null)
|
||||
Header.Write<string?>(Data.Models.Metadata.Header.EmulatorVersionKey, header.ReadString(Data.Models.Metadata.Header.EmulatorVersionKey));
|
||||
if (Header.Email is null)
|
||||
Header.Email = header.Email;
|
||||
if (Header.EmulatorVersion is null)
|
||||
Header.EmulatorVersion = header.EmulatorVersion;
|
||||
if (Header.ForceMerging == MergingFlag.None)
|
||||
Header.ForceMerging = header.ForceMerging;
|
||||
if (Header.ForceNodump == NodumpFlag.None)
|
||||
@@ -122,10 +122,10 @@ namespace SabreTools.Metadata.DatFiles
|
||||
Header.ForceZipping = header.ForceZipping;
|
||||
if (Header.ReadString(Data.Models.Metadata.Header.HeaderKey) is null)
|
||||
Header.Write<string?>(Data.Models.Metadata.Header.HeaderKey, header.ReadString(Data.Models.Metadata.Header.HeaderKey));
|
||||
if (Header.ReadString(Data.Models.Metadata.Header.HomepageKey) is null)
|
||||
Header.Write<string?>(Data.Models.Metadata.Header.HomepageKey, header.ReadString(Data.Models.Metadata.Header.HomepageKey));
|
||||
if (Header.ReadString(Data.Models.Metadata.Header.IdKey) is null)
|
||||
Header.Write<string?>(Data.Models.Metadata.Header.IdKey, header.ReadString(Data.Models.Metadata.Header.IdKey));
|
||||
if (Header.Homepage is null)
|
||||
Header.Homepage = header.Homepage;
|
||||
if (Header.Id is null)
|
||||
Header.Id = header.Id;
|
||||
if (Header.ReadString(Data.Models.Metadata.Header.ImFolderKey) is null)
|
||||
Header.Write<string?>(Data.Models.Metadata.Header.ImFolderKey, header.ReadString(Data.Models.Metadata.Header.ImFolderKey));
|
||||
if (Header.LockBiosMode is null)
|
||||
@@ -134,22 +134,22 @@ namespace SabreTools.Metadata.DatFiles
|
||||
Header.LockRomMode = header.LockRomMode;
|
||||
if (Header.LockSampleMode is null)
|
||||
Header.LockSampleMode = header.LockSampleMode;
|
||||
if (Header.ReadString(Data.Models.Metadata.Header.MameConfigKey) is null)
|
||||
Header.Write<string?>(Data.Models.Metadata.Header.MameConfigKey, header.ReadString(Data.Models.Metadata.Header.MameConfigKey));
|
||||
if (Header.MameConfig is null)
|
||||
Header.MameConfig = header.MameConfig;
|
||||
if (Header.Name is null)
|
||||
Header.Name = header.Name;
|
||||
if (Header.ReadString(Data.Models.Metadata.Header.NotesKey) is null)
|
||||
Header.Write<string?>(Data.Models.Metadata.Header.NotesKey, header.ReadString(Data.Models.Metadata.Header.NotesKey));
|
||||
if (Header.ReadString(Data.Models.Metadata.Header.PluginKey) is null)
|
||||
Header.Write<string?>(Data.Models.Metadata.Header.PluginKey, header.ReadString(Data.Models.Metadata.Header.PluginKey));
|
||||
if (Header.ReadString(Data.Models.Metadata.Header.RefNameKey) is null)
|
||||
Header.Write<string?>(Data.Models.Metadata.Header.RefNameKey, header.ReadString(Data.Models.Metadata.Header.RefNameKey));
|
||||
if (Header.Notes is null)
|
||||
Header.Notes = header.Notes;
|
||||
if (Header.Plugin is null)
|
||||
Header.Plugin = header.Plugin;
|
||||
if (Header.RefName is null)
|
||||
Header.RefName = header.RefName;
|
||||
if (Header.RomMode == MergingFlag.None)
|
||||
Header.RomMode = header.RomMode;
|
||||
if (Header.ReadString(Data.Models.Metadata.Header.RomTitleKey) is null)
|
||||
Header.Write<string?>(Data.Models.Metadata.Header.RomTitleKey, header.ReadString(Data.Models.Metadata.Header.RomTitleKey));
|
||||
if (Header.ReadString(Data.Models.Metadata.Header.RootDirKey) is null)
|
||||
Header.Write<string?>(Data.Models.Metadata.Header.RootDirKey, header.ReadString(Data.Models.Metadata.Header.RootDirKey));
|
||||
if (Header.RomTitle is null)
|
||||
Header.RomTitle = header.RomTitle;
|
||||
if (Header.RootDir is null)
|
||||
Header.RootDir = header.RootDir;
|
||||
if (Header.SampleMode == MergingFlag.None)
|
||||
Header.SampleMode = header.SampleMode;
|
||||
if (Header.ReadString(Data.Models.Metadata.Header.SchemaLocationKey) is null)
|
||||
@@ -158,22 +158,22 @@ namespace SabreTools.Metadata.DatFiles
|
||||
Header.Write<string?>(Data.Models.Metadata.Header.ScreenshotsHeightKey, header.ReadString(Data.Models.Metadata.Header.ScreenshotsHeightKey));
|
||||
if (Header.ReadString(Data.Models.Metadata.Header.ScreenshotsWidthKey) is null)
|
||||
Header.Write<string?>(Data.Models.Metadata.Header.ScreenshotsWidthKey, header.ReadString(Data.Models.Metadata.Header.ScreenshotsWidthKey));
|
||||
if (Header.ReadString(Data.Models.Metadata.Header.SystemKey) is null)
|
||||
Header.Write<string?>(Data.Models.Metadata.Header.SystemKey, header.ReadString(Data.Models.Metadata.Header.SystemKey));
|
||||
if (Header.ReadString(Data.Models.Metadata.Header.TimestampKey) is null)
|
||||
Header.Write<string?>(Data.Models.Metadata.Header.TimestampKey, header.ReadString(Data.Models.Metadata.Header.TimestampKey));
|
||||
if (Header.ReadString(Data.Models.Metadata.Header.TypeKey) is null)
|
||||
Header.Write<string?>(Data.Models.Metadata.Header.TypeKey, header.ReadString(Data.Models.Metadata.Header.TypeKey));
|
||||
if (Header.ReadString(Data.Models.Metadata.Header.UrlKey) is null)
|
||||
Header.Write<string?>(Data.Models.Metadata.Header.UrlKey, header.ReadString(Data.Models.Metadata.Header.UrlKey));
|
||||
if (Header.ReadString(Data.Models.Metadata.Header.VersionKey) is null)
|
||||
Header.Write<string?>(Data.Models.Metadata.Header.VersionKey, header.ReadString(Data.Models.Metadata.Header.VersionKey));
|
||||
if (Header.System is null)
|
||||
Header.System = header.System;
|
||||
if (Header.Timestamp is null)
|
||||
Header.Timestamp = header.Timestamp;
|
||||
if (Header.Type is null)
|
||||
Header.Type = header.Type;
|
||||
if (Header.Url is null)
|
||||
Header.Url = header.Url;
|
||||
if (Header.Version is null)
|
||||
Header.Version = header.Version;
|
||||
|
||||
// Handle implied SuperDAT
|
||||
if (Header.Name?.Contains(" - SuperDAT") == true && keep)
|
||||
{
|
||||
if (Header.ReadString(Data.Models.Metadata.Header.TypeKey) is null)
|
||||
Header.Write<string?>(Data.Models.Metadata.Header.TypeKey, "SuperDAT");
|
||||
if (Header.Type is null)
|
||||
Header.Type = "SuperDAT";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -97,7 +97,7 @@ namespace SabreTools.Metadata.DatFiles
|
||||
// Get the header strings
|
||||
string? name = Header.Name;
|
||||
string? description = Header.Description;
|
||||
string? date = Header.ReadString(Data.Models.Metadata.Header.DateKey);
|
||||
string? date = Header.Date;
|
||||
|
||||
// If the description is defined but not the name, set the name from the description
|
||||
if (string.IsNullOrEmpty(name) && !string.IsNullOrEmpty(description))
|
||||
|
||||
@@ -31,12 +31,24 @@ namespace SabreTools.Metadata.DatFiles
|
||||
|
||||
#region Fields
|
||||
|
||||
public string? Author
|
||||
{
|
||||
get => _internal.Author;
|
||||
set => _internal.Author = value;
|
||||
}
|
||||
|
||||
public MergingFlag BiosMode
|
||||
{
|
||||
get => _internal.BiosMode;
|
||||
set => _internal.BiosMode = value;
|
||||
}
|
||||
|
||||
public string? Build
|
||||
{
|
||||
get => _internal.Build;
|
||||
set => _internal.Build = value;
|
||||
}
|
||||
|
||||
[JsonIgnore]
|
||||
public bool CanOpenSpecified
|
||||
{
|
||||
@@ -47,6 +59,30 @@ namespace SabreTools.Metadata.DatFiles
|
||||
}
|
||||
}
|
||||
|
||||
public string? Category
|
||||
{
|
||||
get => _internal.Category;
|
||||
set => _internal.Category = value;
|
||||
}
|
||||
|
||||
public string? Comment
|
||||
{
|
||||
get => _internal.Comment;
|
||||
set => _internal.Comment = value;
|
||||
}
|
||||
|
||||
public string? Date
|
||||
{
|
||||
get => _internal.Date;
|
||||
set => _internal.Date = value;
|
||||
}
|
||||
|
||||
public string? DatVersion
|
||||
{
|
||||
get => _internal.DatVersion;
|
||||
set => _internal.DatVersion = value;
|
||||
}
|
||||
|
||||
public bool? Debug
|
||||
{
|
||||
get => _internal.Debug;
|
||||
@@ -59,6 +95,18 @@ namespace SabreTools.Metadata.DatFiles
|
||||
set => _internal.Description = value;
|
||||
}
|
||||
|
||||
public string? Email
|
||||
{
|
||||
get => _internal.Email;
|
||||
set => _internal.Email = value;
|
||||
}
|
||||
|
||||
public string? EmulatorVersion
|
||||
{
|
||||
get => _internal.EmulatorVersion;
|
||||
set => _internal.EmulatorVersion = value;
|
||||
}
|
||||
|
||||
public MergingFlag ForceMerging
|
||||
{
|
||||
get => _internal.ForceMerging;
|
||||
@@ -83,6 +131,18 @@ namespace SabreTools.Metadata.DatFiles
|
||||
set => _internal.ForceZipping = value;
|
||||
}
|
||||
|
||||
public string? Homepage
|
||||
{
|
||||
get => _internal.Homepage;
|
||||
set => _internal.Homepage = value;
|
||||
}
|
||||
|
||||
public string? Id
|
||||
{
|
||||
get => _internal.Id;
|
||||
set => _internal.Id = value;
|
||||
}
|
||||
|
||||
[JsonIgnore]
|
||||
public bool ImagesSpecified
|
||||
{
|
||||
@@ -119,6 +179,12 @@ namespace SabreTools.Metadata.DatFiles
|
||||
set => _internal.LockSampleMode = value;
|
||||
}
|
||||
|
||||
public string? MameConfig
|
||||
{
|
||||
get => _internal.MameConfig;
|
||||
set => _internal.MameConfig = value;
|
||||
}
|
||||
|
||||
public string? Name
|
||||
{
|
||||
get => _internal.Name;
|
||||
@@ -134,12 +200,42 @@ namespace SabreTools.Metadata.DatFiles
|
||||
}
|
||||
}
|
||||
|
||||
public string? Notes
|
||||
{
|
||||
get => _internal.Notes;
|
||||
set => _internal.Notes = value;
|
||||
}
|
||||
|
||||
public string? Plugin
|
||||
{
|
||||
get => _internal.Plugin;
|
||||
set => _internal.Plugin = value;
|
||||
}
|
||||
|
||||
public string? RefName
|
||||
{
|
||||
get => _internal.RefName;
|
||||
set => _internal.RefName = value;
|
||||
}
|
||||
|
||||
public MergingFlag RomMode
|
||||
{
|
||||
get => _internal.RomMode;
|
||||
set => _internal.RomMode = value;
|
||||
}
|
||||
|
||||
public string? RomTitle
|
||||
{
|
||||
get => _internal.RomTitle;
|
||||
set => _internal.RomTitle = value;
|
||||
}
|
||||
|
||||
public string? RootDir
|
||||
{
|
||||
get => _internal.RootDir;
|
||||
set => _internal.RootDir = value;
|
||||
}
|
||||
|
||||
public MergingFlag SampleMode
|
||||
{
|
||||
get => _internal.SampleMode;
|
||||
@@ -155,6 +251,36 @@ namespace SabreTools.Metadata.DatFiles
|
||||
}
|
||||
}
|
||||
|
||||
public string? System
|
||||
{
|
||||
get => _internal.System;
|
||||
set => _internal.System = value;
|
||||
}
|
||||
|
||||
public string? Timestamp
|
||||
{
|
||||
get => _internal.Timestamp;
|
||||
set => _internal.Timestamp = value;
|
||||
}
|
||||
|
||||
public string? Type
|
||||
{
|
||||
get => _internal.Type;
|
||||
set => _internal.Type = value;
|
||||
}
|
||||
|
||||
public string? Url
|
||||
{
|
||||
get => _internal.Url;
|
||||
set => _internal.Url = value;
|
||||
}
|
||||
|
||||
public string? Version
|
||||
{
|
||||
get => _internal.Version;
|
||||
set => _internal.Version = value;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Constructors
|
||||
|
||||
@@ -384,7 +384,7 @@ namespace SabreTools.Metadata.DatFiles.Formats
|
||||
// TODO: Enable No-Intro doctype writing instead of Logiqx
|
||||
// Only write the doctype if we don't have No-Intro data
|
||||
bool success;
|
||||
if (string.IsNullOrEmpty(Header.ReadString(Data.Models.Metadata.Header.IdKey)))
|
||||
if (string.IsNullOrEmpty(Header.Id))
|
||||
success = new Serialization.Writers.Logiqx().SerializeFile(datafile, outfile);
|
||||
else
|
||||
success = new Serialization.Writers.Logiqx().SerializeFile(datafile, outfile);
|
||||
|
||||
@@ -33,7 +33,7 @@ namespace SabreTools.Metadata.Filter.Test
|
||||
[Fact]
|
||||
public void Header_Null_False()
|
||||
{
|
||||
var header = new Header { [Header.AuthorKey] = null };
|
||||
var header = new Header { Author = null };
|
||||
bool actual = _filterRunner.Run(header);
|
||||
Assert.False(actual);
|
||||
}
|
||||
@@ -41,7 +41,7 @@ namespace SabreTools.Metadata.Filter.Test
|
||||
[Fact]
|
||||
public void Header_Empty_False()
|
||||
{
|
||||
var header = new Header { [Header.AuthorKey] = "" };
|
||||
var header = new Header { Author = "" };
|
||||
bool actual = _filterRunner.Run(header);
|
||||
Assert.False(actual);
|
||||
}
|
||||
@@ -49,7 +49,7 @@ namespace SabreTools.Metadata.Filter.Test
|
||||
[Fact]
|
||||
public void Header_Incorrect_False()
|
||||
{
|
||||
var header = new Header { [Header.AuthorKey] = "NO_MATCH" };
|
||||
var header = new Header { Author = "NO_MATCH" };
|
||||
bool actual = _filterRunner.Run(header);
|
||||
Assert.False(actual);
|
||||
}
|
||||
@@ -57,7 +57,7 @@ namespace SabreTools.Metadata.Filter.Test
|
||||
[Fact]
|
||||
public void Header_Correct_True()
|
||||
{
|
||||
var header = new Header { [Header.AuthorKey] = "auth" };
|
||||
var header = new Header { Author = "auth" };
|
||||
bool actual = _filterRunner.Run(header);
|
||||
Assert.True(actual);
|
||||
}
|
||||
|
||||
@@ -527,15 +527,39 @@ namespace SabreTools.Metadata.Filter
|
||||
checkValue = item.Value;
|
||||
return true;
|
||||
|
||||
case Header item when fieldName == "author":
|
||||
checkValue = item.Author;
|
||||
return true;
|
||||
case Header item when fieldName == "biosmode":
|
||||
checkValue = item.BiosMode.AsStringValue();
|
||||
return true;
|
||||
case Header item when fieldName == "build":
|
||||
checkValue = item.Build;
|
||||
return true;
|
||||
case Header item when fieldName == "category":
|
||||
checkValue = item.Category;
|
||||
return true;
|
||||
case Header item when fieldName == "comment":
|
||||
checkValue = item.Comment;
|
||||
return true;
|
||||
case Header item when fieldName == "date":
|
||||
checkValue = item.Date;
|
||||
return true;
|
||||
case Header item when fieldName == "datversion":
|
||||
checkValue = item.DatVersion;
|
||||
return true;
|
||||
case Header item when fieldName == "debug":
|
||||
checkValue = item.Debug.FromYesNo();
|
||||
return true;
|
||||
case Header item when fieldName == "description":
|
||||
checkValue = item.Description;
|
||||
return true;
|
||||
case Header item when fieldName == "email":
|
||||
checkValue = item.Email;
|
||||
return true;
|
||||
case Header item when fieldName == "emulatorversion":
|
||||
checkValue = item.EmulatorVersion;
|
||||
return true;
|
||||
case Header item when fieldName == "forcemerging":
|
||||
checkValue = item.ForceMerging.AsStringValue();
|
||||
return true;
|
||||
@@ -548,6 +572,12 @@ namespace SabreTools.Metadata.Filter
|
||||
case Header item when fieldName == "forcezipping":
|
||||
checkValue = item.ForceZipping.FromYesNo();
|
||||
return true;
|
||||
case Header item when fieldName == "homepage":
|
||||
checkValue = item.Homepage;
|
||||
return true;
|
||||
case Header item when fieldName == "id":
|
||||
checkValue = item.Id;
|
||||
return true;
|
||||
case Header item when fieldName == "lockbiosmode":
|
||||
checkValue = item.LockBiosMode.FromYesNo();
|
||||
return true;
|
||||
@@ -557,12 +587,45 @@ namespace SabreTools.Metadata.Filter
|
||||
case Header item when fieldName == "locksamplemode":
|
||||
checkValue = item.LockSampleMode.FromYesNo();
|
||||
return true;
|
||||
case Header item when fieldName == "mameconfig":
|
||||
checkValue = item.MameConfig;
|
||||
return true;
|
||||
case Header item when fieldName == "notes":
|
||||
checkValue = item.Notes;
|
||||
return true;
|
||||
case Header item when fieldName == "plugin":
|
||||
checkValue = item.Plugin;
|
||||
return true;
|
||||
case Header item when fieldName == "refname":
|
||||
checkValue = item.RefName;
|
||||
return true;
|
||||
case Header item when fieldName == "rommode":
|
||||
checkValue = item.RomMode.AsStringValue();
|
||||
return true;
|
||||
case Header item when fieldName == "romtitle":
|
||||
checkValue = item.RomTitle;
|
||||
return true;
|
||||
case Header item when fieldName == "rootdir":
|
||||
checkValue = item.RootDir;
|
||||
return true;
|
||||
case Header item when fieldName == "samplemode":
|
||||
checkValue = item.SampleMode.AsStringValue();
|
||||
return true;
|
||||
case Header item when fieldName == "system":
|
||||
checkValue = item.System;
|
||||
return true;
|
||||
case Header item when fieldName == "timestamp":
|
||||
checkValue = item.Timestamp;
|
||||
return true;
|
||||
case Header item when fieldName == "type":
|
||||
checkValue = item.Timestamp;
|
||||
return true;
|
||||
case Header item when fieldName == "url":
|
||||
checkValue = item.Url;
|
||||
return true;
|
||||
case Header item when fieldName == "version":
|
||||
checkValue = item.Version;
|
||||
return true;
|
||||
|
||||
case Info item when fieldName == "value":
|
||||
checkValue = item.Value;
|
||||
|
||||
@@ -45,16 +45,16 @@ namespace SabreTools.Serialization.CrossModel
|
||||
{
|
||||
Name = item.Name,
|
||||
Description = item.Description,
|
||||
RootDir = item.ReadString(Data.Models.Metadata.Header.RootDirKey),
|
||||
Category = item.ReadString(Data.Models.Metadata.Header.CategoryKey),
|
||||
Version = item.ReadString(Data.Models.Metadata.Header.VersionKey),
|
||||
Date = item.ReadString(Data.Models.Metadata.Header.DateKey),
|
||||
Author = item.ReadString(Data.Models.Metadata.Header.AuthorKey),
|
||||
Homepage = item.ReadString(Data.Models.Metadata.Header.HomepageKey),
|
||||
Url = item.ReadString(Data.Models.Metadata.Header.UrlKey),
|
||||
Comment = item.ReadString(Data.Models.Metadata.Header.CommentKey),
|
||||
RootDir = item.RootDir,
|
||||
Category = item.Category,
|
||||
Version = item.Version,
|
||||
Date = item.Date,
|
||||
Author = item.Author,
|
||||
Homepage = item.Homepage,
|
||||
Url = item.Url,
|
||||
Comment = item.Comment,
|
||||
Header = item.ReadString(Data.Models.Metadata.Header.HeaderKey),
|
||||
Type = item.ReadString(Data.Models.Metadata.Header.TypeKey),
|
||||
Type = item.Type,
|
||||
ForceMerging = item.ForceMerging,
|
||||
ForceZipping = item.ForceZipping,
|
||||
ForcePacking = item.ForcePacking,
|
||||
|
||||
@@ -37,16 +37,16 @@ namespace SabreTools.Serialization.CrossModel
|
||||
{
|
||||
Name = item.Name,
|
||||
Description = item.Description,
|
||||
[Data.Models.Metadata.Header.RootDirKey] = item.RootDir,
|
||||
[Data.Models.Metadata.Header.CategoryKey] = item.Category,
|
||||
[Data.Models.Metadata.Header.VersionKey] = item.Version,
|
||||
[Data.Models.Metadata.Header.DateKey] = item.Date,
|
||||
[Data.Models.Metadata.Header.AuthorKey] = item.Author,
|
||||
[Data.Models.Metadata.Header.HomepageKey] = item.Homepage,
|
||||
[Data.Models.Metadata.Header.UrlKey] = item.Url,
|
||||
[Data.Models.Metadata.Header.CommentKey] = item.Comment,
|
||||
RootDir = item.RootDir,
|
||||
Category = item.Category,
|
||||
Version = item.Version,
|
||||
Date = item.Date,
|
||||
Author = item.Author,
|
||||
Homepage = item.Homepage,
|
||||
Url = item.Url,
|
||||
Comment = item.Comment,
|
||||
[Data.Models.Metadata.Header.HeaderKey] = item.Header,
|
||||
[Data.Models.Metadata.Header.TypeKey] = item.Type,
|
||||
Type = item.Type,
|
||||
ForceMerging = item.ForceMerging,
|
||||
ForceZipping = item.ForceZipping,
|
||||
ForcePacking = item.ForcePacking,
|
||||
|
||||
@@ -33,11 +33,11 @@ namespace SabreTools.Serialization.CrossModel
|
||||
{
|
||||
Name = item.Name,
|
||||
Description = item.Description,
|
||||
Version = item.ReadString(Data.Models.Metadata.Header.VersionKey),
|
||||
Date = item.ReadString(Data.Models.Metadata.Header.DateKey),
|
||||
Author = item.ReadString(Data.Models.Metadata.Header.AuthorKey),
|
||||
Homepage = item.ReadString(Data.Models.Metadata.Header.HomepageKey),
|
||||
Comment = item.ReadString(Data.Models.Metadata.Header.CommentKey),
|
||||
Version = item.Version,
|
||||
Date = item.Date,
|
||||
Author = item.Author,
|
||||
Homepage = item.Homepage,
|
||||
Comment = item.Comment,
|
||||
};
|
||||
return dosCenter;
|
||||
}
|
||||
|
||||
@@ -34,11 +34,11 @@ namespace SabreTools.Serialization.CrossModel
|
||||
{
|
||||
Name = item.Name,
|
||||
Description = item.Description,
|
||||
[Data.Models.Metadata.Header.VersionKey] = item.Version,
|
||||
[Data.Models.Metadata.Header.DateKey] = item.Date,
|
||||
[Data.Models.Metadata.Header.AuthorKey] = item.Author,
|
||||
[Data.Models.Metadata.Header.HomepageKey] = item.Homepage,
|
||||
[Data.Models.Metadata.Header.CommentKey] = item.Comment,
|
||||
Version = item.Version,
|
||||
Date = item.Date,
|
||||
Author = item.Author,
|
||||
Homepage = item.Homepage,
|
||||
Comment = item.Comment,
|
||||
};
|
||||
return header;
|
||||
}
|
||||
|
||||
@@ -28,9 +28,9 @@ namespace SabreTools.Serialization.CrossModel
|
||||
{
|
||||
var mame = new Mame
|
||||
{
|
||||
Build = item.ReadString(Data.Models.Metadata.Header.BuildKey),
|
||||
Build = item.Build,
|
||||
Debug = item.Debug,
|
||||
MameConfig = item.ReadString(Data.Models.Metadata.Header.MameConfigKey),
|
||||
MameConfig = item.MameConfig,
|
||||
};
|
||||
|
||||
return mame;
|
||||
|
||||
@@ -32,9 +32,9 @@ namespace SabreTools.Serialization.CrossModel
|
||||
{
|
||||
var header = new Data.Models.Metadata.Header
|
||||
{
|
||||
[Data.Models.Metadata.Header.BuildKey] = item.Build,
|
||||
Build = item.Build,
|
||||
Debug = item.Debug,
|
||||
[Data.Models.Metadata.Header.MameConfigKey] = item.MameConfig,
|
||||
MameConfig = item.MameConfig,
|
||||
};
|
||||
return header;
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@ namespace SabreTools.Serialization.CrossModel
|
||||
var header = obj.Read<Data.Models.Metadata.Header>(Data.Models.Metadata.MetadataFile.HeaderKey);
|
||||
if (header is not null)
|
||||
{
|
||||
datafile.Build = header.ReadString(Data.Models.Metadata.Header.BuildKey);
|
||||
datafile.Build = header.Build;
|
||||
datafile.Debug = header.Debug;
|
||||
datafile.SchemaLocation = header.ReadString(Data.Models.Metadata.Header.SchemaLocationKey);
|
||||
datafile.Header = ConvertHeaderFromInternalModel(header);
|
||||
@@ -41,19 +41,19 @@ namespace SabreTools.Serialization.CrossModel
|
||||
{
|
||||
var header = new Header
|
||||
{
|
||||
Id = item.ReadString(Data.Models.Metadata.Header.IdKey),
|
||||
Id = item.Id,
|
||||
Name = item.Name,
|
||||
Description = item.Description,
|
||||
RootDir = item.ReadString(Data.Models.Metadata.Header.RootDirKey),
|
||||
Category = item.ReadString(Data.Models.Metadata.Header.CategoryKey),
|
||||
Version = item.ReadString(Data.Models.Metadata.Header.VersionKey),
|
||||
Date = item.ReadString(Data.Models.Metadata.Header.DateKey),
|
||||
Author = item.ReadString(Data.Models.Metadata.Header.AuthorKey),
|
||||
Email = item.ReadString(Data.Models.Metadata.Header.EmailKey),
|
||||
Homepage = item.ReadString(Data.Models.Metadata.Header.HomepageKey),
|
||||
Url = item.ReadString(Data.Models.Metadata.Header.UrlKey),
|
||||
Comment = item.ReadString(Data.Models.Metadata.Header.CommentKey),
|
||||
Type = item.ReadString(Data.Models.Metadata.Header.TypeKey),
|
||||
RootDir = item.RootDir,
|
||||
Category = item.Category,
|
||||
Version = item.Version,
|
||||
Date = item.Date,
|
||||
Author = item.Author,
|
||||
Email = item.Email,
|
||||
Homepage = item.Homepage,
|
||||
Url = item.Url,
|
||||
Comment = item.Comment,
|
||||
Type = item.Type,
|
||||
};
|
||||
|
||||
string? headerVal = item.ReadString(Data.Models.Metadata.Header.HeaderKey);
|
||||
@@ -77,7 +77,7 @@ namespace SabreTools.Serialization.CrossModel
|
||||
header.ClrMamePro.ForcePacking = forcePacking;
|
||||
}
|
||||
|
||||
string? plugin = item.ReadString(Data.Models.Metadata.Header.PluginKey);
|
||||
string? plugin = item.Plugin;
|
||||
Data.Models.Metadata.MergingFlag romMode = item.RomMode;
|
||||
Data.Models.Metadata.MergingFlag biosMode = item.BiosMode;
|
||||
Data.Models.Metadata.MergingFlag sampleMode = item.SampleMode;
|
||||
|
||||
@@ -39,7 +39,7 @@ namespace SabreTools.Serialization.CrossModel
|
||||
{
|
||||
var header = item.Header is not null ? ConvertHeaderToInternalModel(item.Header) : [];
|
||||
|
||||
header[Data.Models.Metadata.Header.BuildKey] = item.Build;
|
||||
header.Build = item.Build;
|
||||
header.Debug = item.Debug;
|
||||
header[Data.Models.Metadata.Header.SchemaLocationKey] = item.SchemaLocation;
|
||||
|
||||
@@ -53,19 +53,19 @@ namespace SabreTools.Serialization.CrossModel
|
||||
{
|
||||
var header = new Data.Models.Metadata.Header
|
||||
{
|
||||
[Data.Models.Metadata.Header.IdKey] = item.Id,
|
||||
Id = item.Id,
|
||||
Name = item.Name,
|
||||
Description = item.Description,
|
||||
[Data.Models.Metadata.Header.RootDirKey] = item.RootDir,
|
||||
[Data.Models.Metadata.Header.CategoryKey] = item.Category,
|
||||
[Data.Models.Metadata.Header.VersionKey] = item.Version,
|
||||
[Data.Models.Metadata.Header.DateKey] = item.Date,
|
||||
[Data.Models.Metadata.Header.AuthorKey] = item.Author,
|
||||
[Data.Models.Metadata.Header.EmailKey] = item.Email,
|
||||
[Data.Models.Metadata.Header.HomepageKey] = item.Homepage,
|
||||
[Data.Models.Metadata.Header.UrlKey] = item.Url,
|
||||
[Data.Models.Metadata.Header.CommentKey] = item.Comment,
|
||||
[Data.Models.Metadata.Header.TypeKey] = item.Type,
|
||||
RootDir = item.RootDir,
|
||||
Category = item.Category,
|
||||
Version = item.Version,
|
||||
Date = item.Date,
|
||||
Author = item.Author,
|
||||
Email = item.Email,
|
||||
Homepage = item.Homepage,
|
||||
Url = item.Url,
|
||||
Comment = item.Comment,
|
||||
Type = item.Type,
|
||||
};
|
||||
|
||||
if (item.ClrMamePro is not null)
|
||||
@@ -78,7 +78,7 @@ namespace SabreTools.Serialization.CrossModel
|
||||
|
||||
if (item.RomCenter is not null)
|
||||
{
|
||||
header[Data.Models.Metadata.Header.PluginKey] = item.RomCenter.Plugin;
|
||||
header.Plugin = item.RomCenter.Plugin;
|
||||
header.RomMode = item.RomCenter.RomMode;
|
||||
header.BiosMode = item.RomCenter.BiosMode;
|
||||
header.SampleMode = item.RomCenter.SampleMode;
|
||||
|
||||
@@ -27,7 +27,7 @@ namespace SabreTools.Serialization.CrossModel
|
||||
{
|
||||
var m1 = new Data.Models.Listxml.M1
|
||||
{
|
||||
Version = item.ReadString(Data.Models.Metadata.Header.VersionKey),
|
||||
Version = item.Version,
|
||||
};
|
||||
return m1;
|
||||
}
|
||||
|
||||
@@ -31,7 +31,7 @@ namespace SabreTools.Serialization.CrossModel
|
||||
{
|
||||
var header = new Data.Models.Metadata.Header
|
||||
{
|
||||
[Data.Models.Metadata.Header.VersionKey] = item.Version,
|
||||
Version = item.Version,
|
||||
};
|
||||
return header;
|
||||
}
|
||||
|
||||
@@ -27,7 +27,7 @@ namespace SabreTools.Serialization.CrossModel
|
||||
{
|
||||
var m1 = new Data.Models.Listxml.Mess
|
||||
{
|
||||
Version = item.ReadString(Data.Models.Metadata.Header.VersionKey),
|
||||
Version = item.Version,
|
||||
};
|
||||
return m1;
|
||||
}
|
||||
|
||||
@@ -31,7 +31,7 @@ namespace SabreTools.Serialization.CrossModel
|
||||
{
|
||||
var header = new Data.Models.Metadata.Header
|
||||
{
|
||||
[Data.Models.Metadata.Header.VersionKey] = item.Version,
|
||||
Version = item.Version,
|
||||
};
|
||||
return header;
|
||||
}
|
||||
|
||||
@@ -38,29 +38,29 @@ namespace SabreTools.Serialization.CrossModel
|
||||
|
||||
if (item.Name is not null
|
||||
|| item.ContainsKey(Data.Models.Metadata.Header.ImFolderKey)
|
||||
|| item.ContainsKey(Data.Models.Metadata.Header.DatVersionKey)
|
||||
|| item.ContainsKey(Data.Models.Metadata.Header.SystemKey)
|
||||
|| item.DatVersion != null
|
||||
|| item.System != null
|
||||
|| item.ContainsKey(Data.Models.Metadata.Header.ScreenshotsWidthKey)
|
||||
|| item.ContainsKey(Data.Models.Metadata.Header.ScreenshotsHeightKey)
|
||||
|| item.ContainsKey(Data.Models.Metadata.Header.InfosKey)
|
||||
|| item.ContainsKey(Data.Models.Metadata.Header.CanOpenKey)
|
||||
|| item.ContainsKey(Data.Models.Metadata.Header.NewDatKey)
|
||||
|| item.ContainsKey(Data.Models.Metadata.Header.SearchKey)
|
||||
|| item.ContainsKey(Data.Models.Metadata.Header.RomTitleKey))
|
||||
|| item.RomTitle != null)
|
||||
{
|
||||
dat.Configuration = new Configuration
|
||||
{
|
||||
DatName = item.Name,
|
||||
ImFolder = item.ReadString(Data.Models.Metadata.Header.ImFolderKey),
|
||||
DatVersion = item.ReadString(Data.Models.Metadata.Header.DatVersionKey),
|
||||
System = item.ReadString(Data.Models.Metadata.Header.SystemKey),
|
||||
DatVersion = item.DatVersion,
|
||||
System = item.System,
|
||||
ScreenshotsWidth = item.ReadString(Data.Models.Metadata.Header.ScreenshotsWidthKey),
|
||||
ScreenshotsHeight = item.ReadString(Data.Models.Metadata.Header.ScreenshotsHeightKey),
|
||||
Infos = item.Read<Infos>(Data.Models.Metadata.Header.InfosKey),
|
||||
CanOpen = item.Read<CanOpen>(Data.Models.Metadata.Header.CanOpenKey),
|
||||
NewDat = item.Read<NewDat>(Data.Models.Metadata.Header.NewDatKey),
|
||||
Search = item.Read<Search>(Data.Models.Metadata.Header.SearchKey),
|
||||
RomTitle = item.ReadString(Data.Models.Metadata.Header.RomTitleKey),
|
||||
RomTitle = item.RomTitle,
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -39,15 +39,15 @@ namespace SabreTools.Serialization.CrossModel
|
||||
{
|
||||
header.Name = item.Configuration.DatName;
|
||||
header[Data.Models.Metadata.Header.ImFolderKey] = item.Configuration.ImFolder;
|
||||
header[Data.Models.Metadata.Header.DatVersionKey] = item.Configuration.DatVersion;
|
||||
header[Data.Models.Metadata.Header.SystemKey] = item.Configuration.System;
|
||||
header.DatVersion = item.Configuration.DatVersion;
|
||||
header.System = item.Configuration.System;
|
||||
header[Data.Models.Metadata.Header.ScreenshotsWidthKey] = item.Configuration.ScreenshotsWidth;
|
||||
header[Data.Models.Metadata.Header.ScreenshotsHeightKey] = item.Configuration.ScreenshotsHeight;
|
||||
header[Data.Models.Metadata.Header.InfosKey] = item.Configuration.Infos;
|
||||
header[Data.Models.Metadata.Header.CanOpenKey] = item.Configuration.CanOpen;
|
||||
header[Data.Models.Metadata.Header.NewDatKey] = item.Configuration.NewDat;
|
||||
header[Data.Models.Metadata.Header.SearchKey] = item.Configuration.Search;
|
||||
header[Data.Models.Metadata.Header.RomTitleKey] = item.Configuration.RomTitle;
|
||||
header.RomTitle = item.Configuration.RomTitle;
|
||||
}
|
||||
|
||||
if (item.GUI is not null)
|
||||
|
||||
@@ -28,7 +28,7 @@ namespace SabreTools.Serialization.CrossModel
|
||||
{
|
||||
var softwareDb = new SoftwareDb
|
||||
{
|
||||
Timestamp = item.ReadString(Data.Models.Metadata.Header.TimestampKey),
|
||||
Timestamp = item.Timestamp,
|
||||
};
|
||||
return softwareDb;
|
||||
}
|
||||
|
||||
@@ -32,7 +32,7 @@ namespace SabreTools.Serialization.CrossModel
|
||||
{
|
||||
var header = new Data.Models.Metadata.Header
|
||||
{
|
||||
[Data.Models.Metadata.Header.TimestampKey] = item.Timestamp,
|
||||
Timestamp = item.Timestamp,
|
||||
};
|
||||
return header;
|
||||
}
|
||||
|
||||
@@ -33,46 +33,46 @@ namespace SabreTools.Serialization.CrossModel
|
||||
{
|
||||
var metadataFile = new MetadataFile();
|
||||
|
||||
if (item.ContainsKey(Data.Models.Metadata.Header.AuthorKey)
|
||||
|| item.ContainsKey(Data.Models.Metadata.Header.VersionKey)
|
||||
|| item.ContainsKey(Data.Models.Metadata.Header.EmailKey)
|
||||
|| item.ContainsKey(Data.Models.Metadata.Header.HomepageKey)
|
||||
|| item.ContainsKey(Data.Models.Metadata.Header.UrlKey)
|
||||
|| item.ContainsKey(Data.Models.Metadata.Header.DateKey)
|
||||
|| item.ContainsKey(Data.Models.Metadata.Header.CommentKey))
|
||||
if (item.Author != null
|
||||
|| item.Version != null
|
||||
|| item.Email != null
|
||||
|| item.Homepage != null
|
||||
|| item.Url != null
|
||||
|| item.Date != null
|
||||
|| item.Comment != null)
|
||||
{
|
||||
metadataFile.Credits = new Credits
|
||||
{
|
||||
Author = item.ReadString(Data.Models.Metadata.Header.AuthorKey),
|
||||
Version = item.ReadString(Data.Models.Metadata.Header.VersionKey),
|
||||
Email = item.ReadString(Data.Models.Metadata.Header.EmailKey),
|
||||
Homepage = item.ReadString(Data.Models.Metadata.Header.HomepageKey),
|
||||
Url = item.ReadString(Data.Models.Metadata.Header.UrlKey),
|
||||
Date = item.ReadString(Data.Models.Metadata.Header.DateKey),
|
||||
Comment = item.ReadString(Data.Models.Metadata.Header.CommentKey),
|
||||
Author = item.Author,
|
||||
Version = item.Version,
|
||||
Email = item.Email,
|
||||
Homepage = item.Homepage,
|
||||
Url = item.Url,
|
||||
Date = item.Date,
|
||||
Comment = item.Comment,
|
||||
};
|
||||
}
|
||||
|
||||
if (item.ContainsKey(Data.Models.Metadata.Header.DatVersionKey)
|
||||
|| item.ContainsKey(Data.Models.Metadata.Header.PluginKey)
|
||||
if (item.DatVersion != null
|
||||
|| item.Plugin != null
|
||||
|| item.ForceMerging != Data.Models.Metadata.MergingFlag.None)
|
||||
{
|
||||
metadataFile.Dat = new Dat
|
||||
{
|
||||
Version = item.ReadString(Data.Models.Metadata.Header.DatVersionKey),
|
||||
Plugin = item.ReadString(Data.Models.Metadata.Header.PluginKey),
|
||||
Version = item.DatVersion,
|
||||
Plugin = item.Plugin,
|
||||
Split = item.ForceMerging == Data.Models.Metadata.MergingFlag.Split ? "yes" : "no",
|
||||
Merge = item.ForceMerging == Data.Models.Metadata.MergingFlag.Merged ? "yes" : "no",
|
||||
};
|
||||
}
|
||||
|
||||
if (item.ContainsKey(Data.Models.Metadata.Header.RefNameKey)
|
||||
|| item.ContainsKey(Data.Models.Metadata.Header.EmulatorVersionKey))
|
||||
if (item.RefName != null
|
||||
|| item.EmulatorVersion != null)
|
||||
{
|
||||
metadataFile.Emulator = new Emulator
|
||||
{
|
||||
RefName = item.ReadString(Data.Models.Metadata.Header.RefNameKey),
|
||||
Version = item.ReadString(Data.Models.Metadata.Header.EmulatorVersionKey),
|
||||
RefName = item.RefName,
|
||||
Version = item.EmulatorVersion,
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -34,19 +34,19 @@ namespace SabreTools.Serialization.CrossModel
|
||||
|
||||
if (item.Credits is not null)
|
||||
{
|
||||
header[Data.Models.Metadata.Header.AuthorKey] = item.Credits.Author;
|
||||
header[Data.Models.Metadata.Header.VersionKey] = item.Credits.Version;
|
||||
header[Data.Models.Metadata.Header.EmailKey] = item.Credits.Email;
|
||||
header[Data.Models.Metadata.Header.HomepageKey] = item.Credits.Homepage;
|
||||
header[Data.Models.Metadata.Header.UrlKey] = item.Credits.Url;
|
||||
header[Data.Models.Metadata.Header.DateKey] = item.Credits.Date;
|
||||
header[Data.Models.Metadata.Header.CommentKey] = item.Credits.Comment;
|
||||
header.Author = item.Credits.Author;
|
||||
header.Version = item.Credits.Version;
|
||||
header.Email = item.Credits.Email;
|
||||
header.Homepage = item.Credits.Homepage;
|
||||
header.Url = item.Credits.Url;
|
||||
header.Date = item.Credits.Date;
|
||||
header.Comment = item.Credits.Comment;
|
||||
}
|
||||
|
||||
if (item.Dat is not null)
|
||||
{
|
||||
header[Data.Models.Metadata.Header.DatVersionKey] = item.Dat.Version;
|
||||
header[Data.Models.Metadata.Header.PluginKey] = item.Dat.Plugin;
|
||||
header.DatVersion = item.Dat.Version;
|
||||
header.Plugin = item.Dat.Plugin;
|
||||
|
||||
if (item.Dat.Split == "yes" || item.Dat.Split == "1")
|
||||
header.ForceMerging = Data.Models.Metadata.MergingFlag.Split;
|
||||
@@ -56,8 +56,8 @@ namespace SabreTools.Serialization.CrossModel
|
||||
|
||||
if (item.Emulator is not null)
|
||||
{
|
||||
header[Data.Models.Metadata.Header.RefNameKey] = item.Emulator.RefName;
|
||||
header[Data.Models.Metadata.Header.EmulatorVersionKey] = item.Emulator.Version;
|
||||
header.RefName = item.Emulator.RefName;
|
||||
header.EmulatorVersion = item.Emulator.Version;
|
||||
}
|
||||
|
||||
return header;
|
||||
|
||||
@@ -30,7 +30,7 @@ namespace SabreTools.Serialization.CrossModel
|
||||
{
|
||||
Name = item.Name,
|
||||
Description = item.Description,
|
||||
Notes = item.ReadString(Data.Models.Metadata.Header.NotesKey),
|
||||
Notes = item.Notes,
|
||||
};
|
||||
return softwareList;
|
||||
}
|
||||
|
||||
@@ -34,7 +34,7 @@ namespace SabreTools.Serialization.CrossModel
|
||||
{
|
||||
Name = item.Name,
|
||||
Description = item.Description,
|
||||
[Data.Models.Metadata.Header.NotesKey] = item.Notes,
|
||||
Notes = item.Notes,
|
||||
};
|
||||
return header;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user