MangaDex: Clean manga descriptions (#10674)
* MangaDex: Clean manga descriptions Closes #10610 * Incrememnt mangadex.extVersionCode * Remove bbcode cleanup utility Since bbcode has been replaced with markdown. So, this is no longer required * Don't forgot to unescape html characters bbcode might be gone but &hearts still need to be converted to ♥ * Update `cleanString` method description * Remove trailing newlines Using Trim takes cares of whitespace too * Move regex to companion object so that they dont get instantiated everytime * Revert "Incrememnt mangadex.extVersionCode" This reverts commit 73c89933cc36cb41fd6691641c75acf0b6f49c45. Will be added back in a separate minor PR
This commit is contained in:
parent
6d89ecf346
commit
81e98ae6ae
@ -61,21 +61,16 @@ class MangaDexHelper() {
|
|||||||
fun getLatestChapterOffset(page: Int): String = (MDConstants.latestChapterLimit * (page - 1)).toString()
|
fun getLatestChapterOffset(page: Int): String = (MDConstants.latestChapterLimit * (page - 1)).toString()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Remove bbcode tags as well as parses any html characters in description or
|
* Remove markdown links as well as parse any html characters in description or
|
||||||
* chapter name to actual characters for example ♥ will show ♥
|
* chapter name to actual characters for example ♥ will show ♥
|
||||||
*/
|
*/
|
||||||
fun cleanString(string: String): String {
|
fun cleanString(string: String): String {
|
||||||
val bbRegex =
|
val unescapedString = Parser.unescapeEntities(string, false)
|
||||||
"""\[(\w+)[^]]*](.*?)\[/\1]""".toRegex()
|
|
||||||
var intermediate = string
|
return unescapedString
|
||||||
.replace("[list]", "")
|
.substringBefore("---")
|
||||||
.replace("[/list]", "")
|
.replace(markdownLinksRegex, "$1")
|
||||||
.replace("[*]", "")
|
.trim()
|
||||||
// Recursively remove nested bbcode
|
|
||||||
while (bbRegex.containsMatchIn(intermediate)) {
|
|
||||||
intermediate = intermediate.replace(bbRegex, "$2")
|
|
||||||
}
|
|
||||||
return Parser.unescapeEntities(intermediate, false)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -112,6 +107,8 @@ class MangaDexHelper() {
|
|||||||
val USE_CACHE = CacheControl.Builder()
|
val USE_CACHE = CacheControl.Builder()
|
||||||
.maxStale(Integer.MAX_VALUE, TimeUnit.SECONDS)
|
.maxStale(Integer.MAX_VALUE, TimeUnit.SECONDS)
|
||||||
.build()
|
.build()
|
||||||
|
|
||||||
|
val markdownLinksRegex = "\\[([^]]+)\\]\\(([^)]+)\\)".toRegex()
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check the token map to see if the md@home host is still valid
|
// Check the token map to see if the md@home host is still valid
|
||||||
|
Loading…
x
Reference in New Issue
Block a user