Fix statuses on readmanga/mintmanga (#1406)

Fix statuses on readmanga/mintmanga
This commit is contained in:
Taumer 2019-08-22 00:34:23 +03:00 committed by Eugene
parent 43ad2d268d
commit c2f6da0e0b
4 changed files with 40 additions and 20 deletions

View File

@ -5,7 +5,7 @@ ext {
appName = 'Tachiyomi: Mintmanga' appName = 'Tachiyomi: Mintmanga'
pkgNameSuffix = 'ru.mintmanga' pkgNameSuffix = 'ru.mintmanga'
extClass = '.Mintmanga' extClass = '.Mintmanga'
extVersionCode = 12 extVersionCode = 13
libVersion = '1.2' libVersion = '1.2'
} }

View File

@ -93,17 +93,27 @@ class Mintmanga : ParsedHttpSource() {
manga.artist = infoElement.select("span.elem_illustrator").first()?.text() manga.artist = infoElement.select("span.elem_illustrator").first()?.text()
manga.genre = infoElement.select("span.elem_genre").text().replace(" ,", ",") manga.genre = infoElement.select("span.elem_genre").text().replace(" ,", ",")
manga.description = infoElement.select("div.manga-description").text() manga.description = infoElement.select("div.manga-description").text()
manga.status = parseStatus(infoElement.html()) manga.status = parseStatus(infoElement)
manga.thumbnail_url = infoElement.select("img").attr("data-full") manga.thumbnail_url = infoElement.select("img").attr("data-full")
return manga return manga
} }
private fun parseStatus(element: String): Int = when { private fun parseStatus(element: Element): Int {
element.contains("<h3>Запрещена публикация произведения по копирайту</h3>") -> SManga.LICENSED val hiddenWarningMessage = element.select("span.hide > h3").first()
element.contains("<h1 class=\"names\"> Сингл") || element.contains("<b>Перевод:</b> завершен") -> SManga.COMPLETED val html = element.html()
element.contains("<b>Перевод:</b> продолжается") -> SManga.ONGOING return if (hiddenWarningMessage != null) {
when {
html.contains("<b>Перевод:</b> продолжается") -> SManga.ONGOING
html.contains("<h1 class=\"names\"> Сингл") || html.contains("<b>Перевод:</b> завершен") -> SManga.COMPLETED
else -> SManga.UNKNOWN else -> SManga.UNKNOWN
} }
} else {
when {
html.contains("<h3>Запрещена публикация произведения по копирайту</h3>") -> SManga.LICENSED
else -> SManga.UNKNOWN
}
}
}
override fun chapterListSelector() = "div.chapters-link > table > tbody > tr:has(td > a)" override fun chapterListSelector() = "div.chapters-link > table > tbody > tr:has(td > a)"
@ -120,9 +130,9 @@ class Mintmanga : ParsedHttpSource() {
} }
chapter.date_upload = element.select("td.hidden-xxs").last()?.text()?.let { chapter.date_upload = element.select("td.hidden-xxs").last()?.text()?.let {
try { try {
SimpleDateFormat("dd/MM/yy", Locale.US).parse(it).time
} catch (e: ParseException) {
SimpleDateFormat("dd.MM.yy", Locale.US).parse(it).time SimpleDateFormat("dd.MM.yy", Locale.US).parse(it).time
} catch (e: ParseException) {
SimpleDateFormat("dd/MM/yy", Locale.US).parse(it).time
} }
} ?: 0 } ?: 0
return chapter return chapter

View File

@ -5,7 +5,7 @@ ext {
appName = 'Tachiyomi: Readmanga' appName = 'Tachiyomi: Readmanga'
pkgNameSuffix = 'ru.readmanga' pkgNameSuffix = 'ru.readmanga'
extClass = '.Readmanga' extClass = '.Readmanga'
extVersionCode = 12 extVersionCode = 13
libVersion = '1.2' libVersion = '1.2'
} }

View File

@ -93,17 +93,27 @@ class Readmanga : ParsedHttpSource() {
manga.artist = infoElement.select("span.elem_illustrator").first()?.text() manga.artist = infoElement.select("span.elem_illustrator").first()?.text()
manga.genre = infoElement.select("span.elem_genre").text().replace(" ,", ",") manga.genre = infoElement.select("span.elem_genre").text().replace(" ,", ",")
manga.description = infoElement.select("div.manga-description").text() manga.description = infoElement.select("div.manga-description").text()
manga.status = parseStatus(infoElement.html()) manga.status = parseStatus(infoElement)
manga.thumbnail_url = infoElement.select("img").attr("data-full") manga.thumbnail_url = infoElement.select("img").attr("data-full")
return manga return manga
} }
private fun parseStatus(element: String): Int = when { private fun parseStatus(element: Element): Int {
element.contains("<h3>Запрещена публикация произведения по копирайту</h3>") -> SManga.LICENSED val hiddenWarningMessage = element.select("span.hide > h3").first()
element.contains("<h1 class=\"names\"> Сингл") || element.contains("<b>Перевод:</b> завершен") -> SManga.COMPLETED val html = element.html()
element.contains("<b>Перевод:</b> продолжается") -> SManga.ONGOING return if (hiddenWarningMessage != null) {
when {
html.contains("<b>Перевод:</b> продолжается") -> SManga.ONGOING
html.contains("<h1 class=\"names\"> Сингл") || html.contains("<b>Перевод:</b> завершен") -> SManga.COMPLETED
else -> SManga.UNKNOWN else -> SManga.UNKNOWN
} }
} else {
when {
html.contains("<h3>Запрещена публикация произведения по копирайту</h3>") -> SManga.LICENSED
else -> SManga.UNKNOWN
}
}
}
override fun chapterListSelector() = "div.chapters-link > table > tbody > tr:has(td > a)" override fun chapterListSelector() = "div.chapters-link > table > tbody > tr:has(td > a)"
@ -120,9 +130,9 @@ class Readmanga : ParsedHttpSource() {
} }
chapter.date_upload = element.select("td.hidden-xxs").last()?.text()?.let { chapter.date_upload = element.select("td.hidden-xxs").last()?.text()?.let {
try { try {
SimpleDateFormat("dd/MM/yy", Locale.US).parse(it).time
} catch (e: ParseException) {
SimpleDateFormat("dd.MM.yy", Locale.US).parse(it).time SimpleDateFormat("dd.MM.yy", Locale.US).parse(it).time
} catch (e: ParseException) {
SimpleDateFormat("dd/MM/yy", Locale.US).parse(it).time
} }
} ?: 0 } ?: 0
return chapter return chapter