mirror of
https://github.com/mihonapp/mihon.git
synced 2025-11-20 16:01:14 +01:00
Fix EHentai reading progress not carrying over
This commit is contained in:
@@ -191,17 +191,20 @@ class EHentai(override val id: Long,
|
||||
}!!.nextElementSibling().text()).time
|
||||
}
|
||||
// Build and append the rest of the galleries
|
||||
newDisplay.mapIndexed { index, newGallery ->
|
||||
val link = newGallery.attr("href")
|
||||
val name = newGallery.text()
|
||||
val posted = (newGallery.nextSibling() as TextNode).text().removePrefix(", added ")
|
||||
SChapter.create().apply {
|
||||
this.url = EHentaiSearchMetadata.normalizeUrl(link)
|
||||
this.name = "v${index + 2}: $name"
|
||||
this.chapter_number = index + 2f
|
||||
this.date_upload = EX_DATE_FORMAT.parse(posted).time
|
||||
}
|
||||
}.reversed() + self
|
||||
if(DebugToggles.INCLUDE_ONLY_ROOT_WHEN_LOADING_EXH_VERSIONS.enabled) listOf(self)
|
||||
else {
|
||||
newDisplay.mapIndexed { index, newGallery ->
|
||||
val link = newGallery.attr("href")
|
||||
val name = newGallery.text()
|
||||
val posted = (newGallery.nextSibling() as TextNode).text().removePrefix(", added ")
|
||||
SChapter.create().apply {
|
||||
this.url = EHentaiSearchMetadata.normalizeUrl(link)
|
||||
this.name = "v${index + 2}: $name"
|
||||
this.chapter_number = index + 2f
|
||||
this.date_upload = EX_DATE_FORMAT.parse(posted).time
|
||||
}
|
||||
}.reversed() + self
|
||||
}
|
||||
}.toObservable()
|
||||
}
|
||||
|
||||
|
||||
@@ -6,6 +6,8 @@ import eu.kanade.tachiyomi.data.database.models.Manga
|
||||
import eu.kanade.tachiyomi.source.Source
|
||||
import eu.kanade.tachiyomi.source.model.SChapter
|
||||
import eu.kanade.tachiyomi.source.online.HttpSource
|
||||
import exh.EH_SOURCE_ID
|
||||
import exh.EXH_SOURCE_ID
|
||||
import java.util.*
|
||||
|
||||
/**
|
||||
@@ -118,6 +120,21 @@ fun syncChaptersWithSource(db: DatabaseHelper,
|
||||
readded.add(c)
|
||||
}
|
||||
}
|
||||
|
||||
// --> EXH (carry over reading progress)
|
||||
if(manga.source == EH_SOURCE_ID || manga.source == EXH_SOURCE_ID) {
|
||||
val finalAdded = toAdd.subtract(readded)
|
||||
if(finalAdded.isNotEmpty()) {
|
||||
val max = dbChapters.maxBy { it.last_page_read }
|
||||
if (max != null && max.last_page_read > 0) {
|
||||
for (chapter in finalAdded) {
|
||||
chapter.last_page_read = max.last_page_read
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// <-- EXH
|
||||
|
||||
db.insertChapters(toAdd).executeAsBlocking()
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user