Cleanup chapter name when syncing chapter with source (#7910)

This commit is contained in:
AntsyLich 2022-09-02 20:07:50 +06:00 committed by GitHub
parent a43754e1a6
commit ff4a217730
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 49 additions and 0 deletions

View File

@ -0,0 +1,47 @@
package eu.kanade.data.chapter
object CleanupChapterName {
fun await(chapterName: String, mangaTitle: String): String {
return chapterName
.trim()
.removePrefix(mangaTitle)
.trim(*CHAPTER_TRIM_CHARS)
}
private val CHAPTER_TRIM_CHARS = arrayOf(
// Whitespace
' ',
'\u0009',
'\u000A',
'\u000B',
'\u000C',
'\u000D',
'\u0020',
'\u0085',
'\u00A0',
'\u1680',
'\u2000',
'\u2001',
'\u2002',
'\u2003',
'\u2004',
'\u2005',
'\u2006',
'\u2007',
'\u2008',
'\u2009',
'\u200A',
'\u2028',
'\u2029',
'\u202F',
'\u205F',
'\u3000',
// Separators
'-',
'_',
',',
':',
).toCharArray()
}

View File

@ -1,5 +1,6 @@
package eu.kanade.domain.chapter.interactor package eu.kanade.domain.chapter.interactor
import eu.kanade.data.chapter.CleanupChapterName
import eu.kanade.data.chapter.NoChaptersException import eu.kanade.data.chapter.NoChaptersException
import eu.kanade.domain.chapter.model.Chapter import eu.kanade.domain.chapter.model.Chapter
import eu.kanade.domain.chapter.model.toChapterUpdate import eu.kanade.domain.chapter.model.toChapterUpdate
@ -50,6 +51,7 @@ class SyncChaptersWithSource(
.mapIndexed { i, sChapter -> .mapIndexed { i, sChapter ->
Chapter.create() Chapter.create()
.copyFromSChapter(sChapter) .copyFromSChapter(sChapter)
.copy(name = CleanupChapterName.await(sChapter.name, manga.title))
.copy(mangaId = manga.id, sourceOrder = i.toLong()) .copy(mangaId = manga.id, sourceOrder = i.toLong())
} }