fix for decimal episodes
This commit is contained in:
parent
ebabff4667
commit
bf908c5e37
2 changed files with 24 additions and 2 deletions
|
@ -16,5 +16,17 @@ class AnimeNameAdapter {
|
||||||
null
|
null
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun findEpisodeNumber(text: String): Float? {
|
||||||
|
val episodeRegex = "(episode|ep|e)[\\s:.\\-]*([\\d]+\\.?[\\d]*)"
|
||||||
|
val episodePattern: Pattern = Pattern.compile(episodeRegex, Pattern.CASE_INSENSITIVE)
|
||||||
|
val episodeMatcher: Matcher = episodePattern.matcher(text)
|
||||||
|
|
||||||
|
return if (episodeMatcher.find()) {
|
||||||
|
episodeMatcher.group(2)?.toFloat()
|
||||||
|
} else {
|
||||||
|
null
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -112,7 +112,13 @@ class DynamicAnimeParser(extension: AnimeExtension.Installed) : AnimeParser() {
|
||||||
seasonGroups.keys.sorted().flatMap { season ->
|
seasonGroups.keys.sorted().flatMap { season ->
|
||||||
seasonGroups[season]?.sortedBy { it.episode_number }?.map { episode ->
|
seasonGroups[season]?.sortedBy { it.episode_number }?.map { episode ->
|
||||||
if (episode.episode_number != 0f) { // Skip renumbering for episode number 0
|
if (episode.episode_number != 0f) { // Skip renumbering for episode number 0
|
||||||
episode.episode_number = episodeCounter++
|
val potentialNumber = AnimeNameAdapter.findEpisodeNumber(episode.name)
|
||||||
|
if (potentialNumber != null) {
|
||||||
|
episode.episode_number = potentialNumber
|
||||||
|
} else {
|
||||||
|
episode.episode_number = episodeCounter
|
||||||
|
}
|
||||||
|
episodeCounter++
|
||||||
}
|
}
|
||||||
episode
|
episode
|
||||||
} ?: emptyList()
|
} ?: emptyList()
|
||||||
|
@ -202,7 +208,11 @@ class DynamicAnimeParser(extension: AnimeExtension.Installed) : AnimeParser() {
|
||||||
}
|
}
|
||||||
return Episode(
|
return Episode(
|
||||||
if (episodeNumberInt.toInt() != -1) {
|
if (episodeNumberInt.toInt() != -1) {
|
||||||
episodeNumberInt.toString()
|
if (sEpisode.episode_number % 1 == 0f) {
|
||||||
|
episodeNumberInt.toInt().toString()
|
||||||
|
} else {
|
||||||
|
sEpisode.episode_number.toString()
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
sEpisode.name
|
sEpisode.name
|
||||||
},
|
},
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue