Fix: display date in episode number, keep title as-is

This commit is contained in:
tvmon-dev
2026-04-15 21:22:46 +09:00
parent 211b4740ba
commit 01582afb40

View File

@@ -447,7 +447,7 @@ class TvmonScraper {
val datePattern = Pattern.compile("^(\\d{2})[./](\\d{2})[./](\\d{2,4})\\s+(.+)$|^(\\d{2})[./](\\d{2})[./](\\d{2,4})(.+)$") val datePattern = Pattern.compile("^(\\d{2})[./](\\d{2})[./](\\d{2,4})\\s+(.+)$|^(\\d{2})[./](\\d{2})[./](\\d{2,4})(.+)$")
val dateMatch = datePattern.matcher(linkText) val dateMatch = datePattern.matcher(linkText)
var dateStr = "" var dateStr = ""
var titleStr = cleanLinkText var episodeTitleStr = cleanLinkText
if (dateMatch.find()) { if (dateMatch.find()) {
val day = dateMatch.group(1) ?: dateMatch.group(5) val day = dateMatch.group(1) ?: dateMatch.group(5)
@@ -461,11 +461,11 @@ class TvmonScraper {
} else { } else {
"$year/$month/$day" "$year/$month/$day"
} }
titleStr = titlePart?.trim() ?: cleanLinkText episodeTitleStr = titlePart?.trim() ?: cleanLinkText
} }
} }
val episodeNumMatch = Pattern.compile("(\\d+)\\s*화|(\\d+)\\s*회|EP\\.?(\\d+)|제\\s*(\\d+)\\s*부").matcher(titleStr) val episodeNumMatch = Pattern.compile("(\\d+)\\s*화|(\\d+)\\s*회|EP\\.?(\\d+)|제\\s*(\\d+)\\s*부").matcher(episodeTitleStr)
val episodeTitle = if (episodeNumMatch.find()) { val episodeTitle = if (episodeNumMatch.find()) {
episodeNumMatch.group(1) ?: episodeNumMatch.group(2) ?: episodeNumMatch.group(3) ?: episodeNumMatch.group(4) episodeNumMatch.group(1) ?: episodeNumMatch.group(2) ?: episodeNumMatch.group(3) ?: episodeNumMatch.group(4)
} else { } else {
@@ -479,8 +479,8 @@ class TvmonScraper {
} }
episodes.add(Episode( episodes.add(Episode(
number = finalNumber, number = dateStr.ifBlank { finalNumber },
title = titleStr.ifBlank { finalNumber }, title = episodeTitleStr.ifBlank { finalNumber },
url = fullUrl, url = fullUrl,
type = "webview", type = "webview",
date = dateStr date = dateStr