For library update error log, group errors by error string, and then sort the resulting list by source (#5586)

Format is
```
! Error
  # Source
    - Manga
```
This commit is contained in:
FlaminSarge 2021-07-20 14:36:24 -07:00 committed by GitHub
parent 7f76ffa5cb
commit 8bd965267c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -511,9 +511,19 @@ class LibraryUpdateService(
if (errors.isNotEmpty()) { if (errors.isNotEmpty()) {
val file = createFileInCacheDir("tachiyomi_update_errors.txt") val file = createFileInCacheDir("tachiyomi_update_errors.txt")
file.bufferedWriter().use { out -> file.bufferedWriter().use { out ->
errors.forEach { (manga, error) -> // Error file format:
val source = sourceManager.getOrStub(manga.source) // ! Error
out.write("${manga.title} ($source): $error\n") // # Source
// - Manga
errors.groupBy({ it.second }, { it.first }).forEach { (error, mangas) ->
out.write("! ${error}\n")
mangas.groupBy { it.source }.forEach { (srcId, mangas) ->
val source = sourceManager.getOrStub(srcId)
out.write(" # $source\n")
mangas.forEach {
out.write(" - ${it.title}\n")
}
}
} }
} }
return file return file