feat: change logic of binding track from Hikka source

This commit is contained in:
Lorg0n 2025-01-02 02:51:35 +03:00
parent 07eae5943d
commit 0ec0637d47
3 changed files with 21 additions and 3 deletions

View File

@ -102,6 +102,7 @@ class Hikka(id: Long) : BaseTracker(id, "Hikka"), DeletableTracker {
}
override suspend fun bind(track: Track, hasReadChapters: Boolean): Track {
val readContent = api.getRead(track)
val remoteTrack = api.getManga(track)
track.copyPersonalFrom(remoteTrack)
@ -112,7 +113,25 @@ class Hikka(id: Long) : BaseTracker(id, "Hikka"), DeletableTracker {
track.status = if (!isRereading && hasReadChapters) READING else track.status
}
return update(track)
return if (readContent != null) {
track.score = readContent.score.toDouble()
track.last_chapter_read = readContent.chapters.toDouble()
track.score = readContent.score.toDouble()
update(track)
} else {
track.score = 0.0;
update(track)
}
// track.copyPersonalFrom(readContent?.content.toTrack())
// track.score = 0.0
// track.library_id = remoteTrack.library_id
//
// if (track.status != COMPLETED) {
// val isRereading = track.status == REREADING
// track.status = if (!isRereading && hasReadChapters) READING else track.status
// }
//
// return update(track)
}
override suspend fun search(query: String): List<TrackSearch> {

View File

@ -97,7 +97,7 @@ class HikkaApi(
}
}
private suspend fun getRead(track: Track): HKRead? {
suspend fun getRead(track: Track): HKRead? {
return withIOContext {
val slug = track.tracking_url.split("/")[4]
val url = "$BASE_API_URL/read/manga/$slug".toUri().buildUpon().build()

View File

@ -29,7 +29,6 @@ data class HKManga(
title = this@HKManga.titleUa ?: this@HKManga.titleEn ?: this@HKManga.titleOriginal
total_chapters = this@HKManga.chapters?.toLong() ?: 0
cover_url = this@HKManga.image
summary = ""
score = this@HKManga.score
tracking_url = HikkaApi.BASE_URL + "/manga/${this@HKManga.slug}"
publishing_status = this@HKManga.status