Added subtitle language logic.
Some checks failed
ci / build-test (push) Has been cancelled
ci / publish-image (push) Has been cancelled

This commit is contained in:
2025-12-22 23:33:46 -05:00
parent 72fd878f99
commit c51775592e

View File

@@ -190,6 +190,7 @@ public class VoiceWorkUpdater(AppDbContext dbContext, ITimeProvider timeProvider
voiceWork.StarRating = ingest.StarRating;
voiceWork.Votes = ingest.Votes;
voiceWork.OriginalProductId = ingest.Translation?.OriginalProductId;
voiceWork.SubtitleLanguage = GetSubtitleLanguage(ingest);
voiceWork.AIGeneration = (byte)ingest.AI;
voiceWork.IsValid = true;
voiceWork.LastScannedDate = ComputeLastScannedDate(voiceWork.LastScannedDate, state, upsertContext);
@@ -266,6 +267,36 @@ public class VoiceWorkUpdater(AppDbContext dbContext, ITimeProvider timeProvider
return state.WentOnSale ? current : existing ?? current;
}
private static byte GetSubtitleLanguage(VoiceWorkIngest ingest)
{
Language[] orderedLanguages =
[
Language.English,
Language.ChineseSimplified,
Language.ChineseTraditional,
Language.Korean
];
foreach (Language language in orderedLanguages)
{
if (ingest.SupportedLanguages.Any(x => x.Language == language))
{
switch (language)
{
case Language.English:
return 1;
case Language.ChineseSimplified:
case Language.ChineseTraditional:
return 2;
case Language.Korean:
return 3;
}
}
}
return 0;
}
private void UpsertTags(VoiceWorkIngest ingest, VoiceWorkUpsertContext upsertContext)
{
foreach (string tagName in ingest.Tags)