diff options
author | Jesse Plamondon-Willard <github@jplamondonw.com> | 2017-09-24 13:19:02 -0400 |
---|---|---|
committer | Jesse Plamondon-Willard <github@jplamondonw.com> | 2017-09-24 13:19:02 -0400 |
commit | 9b247b67f64af903fd610481e74dbe7175580b84 (patch) | |
tree | 117bafa8fb1c9980ca688c6abdf220ea1f323a49 /src/StardewModdingAPI.Web/Controllers | |
parent | 96acccad7c57b005f73fbe6aad30291c7fbb633d (diff) | |
download | SMAPI-9b247b67f64af903fd610481e74dbe7175580b84.tar.gz SMAPI-9b247b67f64af903fd610481e74dbe7175580b84.tar.bz2 SMAPI-9b247b67f64af903fd610481e74dbe7175580b84.zip |
improve version normalising (#336, #361)
Diffstat (limited to 'src/StardewModdingAPI.Web/Controllers')
-rw-r--r-- | src/StardewModdingAPI.Web/Controllers/ModsController.cs | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/StardewModdingAPI.Web/Controllers/ModsController.cs b/src/StardewModdingAPI.Web/Controllers/ModsController.cs index 4eaa66d2..566577e4 100644 --- a/src/StardewModdingAPI.Web/Controllers/ModsController.cs +++ b/src/StardewModdingAPI.Web/Controllers/ModsController.cs @@ -108,9 +108,11 @@ namespace StardewModdingAPI.Web.Controllers result[modKey] = await this.Cache.GetOrCreateAsync($"{repository.VendorKey}:{modID}".ToLower(), async entry => { entry.AbsoluteExpiration = DateTimeOffset.UtcNow.AddMinutes(this.CacheMinutes); + ModInfoModel info = await repository.GetModInfoAsync(modID); - if (info.Error == null && !Regex.IsMatch(info.Version, this.VersionRegex, RegexOptions.CultureInvariant | RegexOptions.IgnoreCase)) - info = new ModInfoModel(info.Name, info.Version, info.Url, $"Mod has invalid semantic version '{info.Version}'."); + if (info.Error == null && (info.Version == null || !Regex.IsMatch(info.Version, this.VersionRegex, RegexOptions.CultureInvariant | RegexOptions.IgnoreCase))) + info = new ModInfoModel(info.Name, info.Version, info.Url, info.Version == null ? "Mod has no version number." : $"Mod has invalid semantic version '{info.Version}'."); + return info; }); } |