mirror of
https://github.com/tachiyomiorg/tachiyomi-extensions-inspector.git
synced 2025-01-11 16:29:08 +01:00
handle front, handle orphans
This commit is contained in:
parent
8abb132ad6
commit
c200785479
@ -17,6 +17,7 @@ import ir.armor.tachidesk.model.database.table.MangaTable
|
||||
import ir.armor.tachidesk.model.database.table.PageTable
|
||||
import ir.armor.tachidesk.model.dataclass.ChapterDataClass
|
||||
import org.jetbrains.exposed.sql.and
|
||||
import org.jetbrains.exposed.sql.deleteWhere
|
||||
import org.jetbrains.exposed.sql.insert
|
||||
import org.jetbrains.exposed.sql.select
|
||||
import org.jetbrains.exposed.sql.selectAll
|
||||
@ -69,16 +70,22 @@ object Chapter {
|
||||
val dbChapterCount = transaction { ChapterTable.selectAll().count() }
|
||||
if (dbChapterCount > chapterCount) { // we got some clean up due
|
||||
// TODO: delete orphan chapters
|
||||
val dbChapterList = transaction { ChapterTable.selectAll().orderBy() }
|
||||
val dbChapterList = transaction { ChapterTable.selectAll() }
|
||||
|
||||
dbChapterList.forEach {
|
||||
(it[ChapterTable.chapterIndex] >= chapterList.size
|
||||
|| chapterList[it[ChapterTable.chapterIndex]].url != it[ChapterTable.url])
|
||||
|
||||
ChapterTable.deleteWhere { ChapterTable.id eq it[ChapterTable.id] }
|
||||
}
|
||||
}
|
||||
|
||||
val dbChapters = transaction { ChapterTable.selectAll() }
|
||||
val dbChapterMap = transaction { ChapterTable.selectAll() }
|
||||
.associateBy({ it[ChapterTable.url] }, { it })
|
||||
|
||||
chapterList.mapIndexed { index, it ->
|
||||
|
||||
val dbChapter = dbChapters.getValue(it.url)
|
||||
val dbChapter = dbChapterMap.getValue(it.url)
|
||||
|
||||
ChapterDataClass(
|
||||
it.url,
|
||||
@ -138,7 +145,6 @@ object Chapter {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return ChapterDataClass(
|
||||
chapterEntry[ChapterTable.url],
|
||||
chapterEntry[ChapterTable.name],
|
||||
|
@ -49,7 +49,7 @@ export default function ChapterCard(props: IProps) {
|
||||
const history = useHistory();
|
||||
const { chapter } = props;
|
||||
|
||||
const dateStr = chapter.date_upload && new Date(chapter.date_upload).toISOString().slice(0, 10);
|
||||
const dateStr = chapter.uploadDate && new Date(chapter.uploadDate).toISOString().slice(0, 10);
|
||||
|
||||
return (
|
||||
<>
|
||||
@ -60,7 +60,7 @@ export default function ChapterCard(props: IProps) {
|
||||
<div style={{ display: 'flex', flexDirection: 'column' }}>
|
||||
<Typography variant="h5" component="h2">
|
||||
{chapter.name}
|
||||
{chapter.chapter_number > 0 && ` : ${chapter.chapter_number}`}
|
||||
{chapter.chapterNumber > 0 && ` : ${chapter.chapterNumber}`}
|
||||
</Typography>
|
||||
<Typography variant="caption" display="block" gutterBottom>
|
||||
{chapter.scanlator}
|
||||
|
7
webUI/react/src/typings.d.ts
vendored
7
webUI/react/src/typings.d.ts
vendored
@ -56,10 +56,13 @@ interface IChapter {
|
||||
id: number
|
||||
url: string
|
||||
name: string
|
||||
date_upload: number
|
||||
chapter_number: number
|
||||
uploadDate: number
|
||||
chapterNumber: number
|
||||
scanlator: String
|
||||
mangaId: number
|
||||
read: boolean
|
||||
bookmarked: boolean
|
||||
lastPageRead: number
|
||||
chapterIndex: number
|
||||
chapterCount: number
|
||||
pageCount: number
|
||||
|
Loading…
x
Reference in New Issue
Block a user