summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJesse Plamondon-Willard <github@jplamondonw.com>2018-05-30 21:21:33 -0400
committerJesse Plamondon-Willard <github@jplamondonw.com>2018-05-30 21:21:33 -0400
commit9945408aa4ea2f6e07c2820f6aa1c160c68423d5 (patch)
treea6939aa43da9256ff6a79188927ebcd92b5a19b9 /src
parent738c0ce386590f55c185297065aeda62b1f5d06f (diff)
downloadSMAPI-9945408aa4ea2f6e07c2820f6aa1c160c68423d5.tar.gz
SMAPI-9945408aa4ea2f6e07c2820f6aa1c160c68423d5.tar.bz2
SMAPI-9945408aa4ea2f6e07c2820f6aa1c160c68423d5.zip
add summary and 'unofficial' status to wiki client (#532)
Diffstat (limited to 'src')
-rw-r--r--src/StardewModdingAPI.Toolkit/Framework/Clients/Wiki/WikiCompatibilityClient.cs6
-rw-r--r--src/StardewModdingAPI.Toolkit/Framework/Clients/Wiki/WikiCompatibilityEntry.cs3
-rw-r--r--src/StardewModdingAPI.Toolkit/Framework/Clients/Wiki/WikiCompatibilityStatus.cs11
3 files changed, 14 insertions, 6 deletions
diff --git a/src/StardewModdingAPI.Toolkit/Framework/Clients/Wiki/WikiCompatibilityClient.cs b/src/StardewModdingAPI.Toolkit/Framework/Clients/Wiki/WikiCompatibilityClient.cs
index a68a0b4e..d0da42df 100644
--- a/src/StardewModdingAPI.Toolkit/Framework/Clients/Wiki/WikiCompatibilityClient.cs
+++ b/src/StardewModdingAPI.Toolkit/Framework/Clients/Wiki/WikiCompatibilityClient.cs
@@ -92,7 +92,8 @@ namespace StardewModdingAPI.Toolkit.Framework.Clients.Wiki
// parse other fields
string name = node.Descendants("td").FirstOrDefault()?.InnerText?.Trim();
- string[] ids = this.GetAttribute(node, "data-id")?.Split(new [] { ',' }, StringSplitOptions.RemoveEmptyEntries).Select(p => p.Trim()).ToArray() ?? new string[0];
+ string summary = node.Descendants("td").FirstOrDefault(p => p.GetAttributeValue("class", null) == "summary")?.InnerText.Trim();
+ string[] ids = this.GetAttribute(node, "data-id")?.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries).Select(p => p.Trim()).ToArray() ?? new string[0];
int? nexusID = this.GetNullableIntAttribute(node, "data-nexus-id");
int? chucklefishID = this.GetNullableIntAttribute(node, "data-chucklefish-id");
string githubRepo = this.GetAttribute(node, "data-github");
@@ -110,7 +111,8 @@ namespace StardewModdingAPI.Toolkit.Framework.Clients.Wiki
GitHubRepo = githubRepo,
CustomSourceUrl = customSourceUrl,
CustomUrl = customUrl,
- UnofficialVersion = unofficialVersion
+ UnofficialVersion = unofficialVersion,
+ Summary = summary
};
}
}
diff --git a/src/StardewModdingAPI.Toolkit/Framework/Clients/Wiki/WikiCompatibilityEntry.cs b/src/StardewModdingAPI.Toolkit/Framework/Clients/Wiki/WikiCompatibilityEntry.cs
index 9aabdcba..8bc66e20 100644
--- a/src/StardewModdingAPI.Toolkit/Framework/Clients/Wiki/WikiCompatibilityEntry.cs
+++ b/src/StardewModdingAPI.Toolkit/Framework/Clients/Wiki/WikiCompatibilityEntry.cs
@@ -29,5 +29,8 @@ namespace StardewModdingAPI.Toolkit.Framework.Clients.Wiki
/// <summary>The compatibility status.</summary>
public WikiCompatibilityStatus Status { get; set; }
+
+ /// <summary>The human-readable summary of the compatibility status or workaround, without HTML formatitng.</summary>
+ public string Summary { get; set; }
}
}
diff --git a/src/StardewModdingAPI.Toolkit/Framework/Clients/Wiki/WikiCompatibilityStatus.cs b/src/StardewModdingAPI.Toolkit/Framework/Clients/Wiki/WikiCompatibilityStatus.cs
index 06252b2f..a1d2dfae 100644
--- a/src/StardewModdingAPI.Toolkit/Framework/Clients/Wiki/WikiCompatibilityStatus.cs
+++ b/src/StardewModdingAPI.Toolkit/Framework/Clients/Wiki/WikiCompatibilityStatus.cs
@@ -9,16 +9,19 @@ namespace StardewModdingAPI.Toolkit.Framework.Clients.Wiki
/// <summary>The mod is compatible if you use an optional official download.</summary>
Optional = 1,
+ /// <summary>The mod is compatible if you use an unofficial update.</summary>
+ Unofficial = 2,
+
/// <summary>The mod isn't compatible, but the player can fix it or there's a good alternative.</summary>
- Workaround = 2,
+ Workaround = 3,
/// <summary>The mod isn't compatible.</summary>
- Broken = 3,
+ Broken = 4,
/// <summary>The mod is no longer maintained by the author, and an unofficial update or continuation is unlikely.</summary>
- Abandoned = 4,
+ Abandoned = 5,
/// <summary>The mod is no longer needed and should be removed.</summary>
- Obsolete = 5
+ Obsolete = 6
}
}