mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-11-04 08:08:55 +01:00 
			
		
		
		
	Cleanup chapter name when syncing chapter with source (#7910)
This commit is contained in:
		@@ -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()
 | 
			
		||||
}
 | 
			
		||||
@@ -1,5 +1,6 @@
 | 
			
		||||
package eu.kanade.domain.chapter.interactor
 | 
			
		||||
 | 
			
		||||
import eu.kanade.data.chapter.CleanupChapterName
 | 
			
		||||
import eu.kanade.data.chapter.NoChaptersException
 | 
			
		||||
import eu.kanade.domain.chapter.model.Chapter
 | 
			
		||||
import eu.kanade.domain.chapter.model.toChapterUpdate
 | 
			
		||||
@@ -50,6 +51,7 @@ class SyncChaptersWithSource(
 | 
			
		||||
            .mapIndexed { i, sChapter ->
 | 
			
		||||
                Chapter.create()
 | 
			
		||||
                    .copyFromSChapter(sChapter)
 | 
			
		||||
                    .copy(name = CleanupChapterName.await(sChapter.name, manga.title))
 | 
			
		||||
                    .copy(mangaId = manga.id, sourceOrder = i.toLong())
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user