Added additional voice work update logic.

This commit is contained in:
2025-10-11 17:28:39 -04:00
parent db0c3349a2
commit 278b6df650
38 changed files with 56745 additions and 64 deletions

View File

@@ -1,4 +1,5 @@
using HtmlAgilityPack;
using JSMR.Application.Common;
using JSMR.Application.Scanning.Contracts;
using JSMR.Application.Scanning.Ports;
using JSMR.Infrastructure.Common.Locales;
@@ -7,6 +8,7 @@ using JSMR.Infrastructure.Http;
using JSMR.Infrastructure.Scanning.Models;
using System.Globalization;
using System.Text.RegularExpressions;
using System.Xml.Linq;
namespace JSMR.Infrastructure.Scanning;
@@ -90,7 +92,8 @@ public abstract class VoiceWorksScanner(IHtmlLoader htmlLoader) : IVoiceWorksSca
ImageUrl = imageUrl,
Type = imageUrl.Contains("ana/doujin") ? DLSiteWorkType.Announced : DLSiteWorkType.Released,
StarRating = rating?.Score,
Votes = rating?.Votes
Votes = rating?.Votes,
AgeRating = GetAgeRating(node.GenreNodes)
};
if (node.ExpectedDateNode != null)
@@ -111,6 +114,19 @@ public abstract class VoiceWorksScanner(IHtmlLoader htmlLoader) : IVoiceWorksSca
return work;
}
private static AgeRating GetAgeRating(List<HtmlNode> genreNodes)
{
List<string> genres = ScannerUtilities.GetStringListFromNodes(genreNodes);
if (genres.Contains("全年齢"))
return AgeRating.AllAges;
if (genres.Contains("R-15"))
return AgeRating.R15;
return AgeRating.R18;
}
private static ScannedRating? GetScannedRating(HtmlNode starRatingNode)
{
if (starRatingNode == null)