feat: import Translator from ComicInfo.xml

closes #740
This commit is contained in:
Gauthier Roebroeck 2021-12-14 18:06:23 +08:00
parent fabba667ec
commit fe8c21d1ad
5 changed files with 14 additions and 6 deletions

View file

@ -53,6 +53,7 @@ class ComicInfoProvider(
comicInfo.letterer?.splitWithRole("letterer")?.let { authors += it }
comicInfo.coverArtist?.splitWithRole("cover")?.let { authors += it }
comicInfo.editor?.splitWithRole("editor")?.let { authors += it }
comicInfo.translator?.splitWithRole("translator")?.let { authors += it }
val readLists = mutableListOf<BookMetadataPatch.ReadListEntry>()
if (!comicInfo.alternateSeries.isNullOrBlank()) {

View file

@ -67,6 +67,9 @@ class ComicInfo {
@JsonProperty(value = "Editor")
var editor: String? = null
@JsonProperty(value = "Translator")
var translator: String? = null
@JsonProperty(value = "Publisher")
var publisher: String? = null

View file

@ -261,6 +261,7 @@ class ComicInfoProviderTest {
inker = "inker"
colorist = "colorist"
editor = "editor"
translator = "translator"
letterer = "letterer"
coverArtist = "coverArtist"
}
@ -270,9 +271,9 @@ class ComicInfoProviderTest {
val patch = comicInfoProvider.getBookMetadataFromBook(BookWithMedia(book, media))
with(patch!!) {
assertThat(authors).hasSize(7)
assertThat(authors?.map { it.name }).containsExactlyInAnyOrder("writer", "penciller", "inker", "colorist", "editor", "letterer", "coverArtist")
assertThat(authors?.map { it.role }).containsExactlyInAnyOrder("writer", "penciller", "inker", "colorist", "editor", "letterer", "cover")
assertThat(authors).hasSize(8)
assertThat(authors?.map { it.name }).containsExactlyInAnyOrder("writer", "penciller", "inker", "colorist", "editor", "letterer", "translator", "coverArtist")
assertThat(authors?.map { it.role }).containsExactlyInAnyOrder("writer", "penciller", "inker", "colorist", "editor", "letterer", "translator", "cover")
}
}
@ -284,6 +285,7 @@ class ComicInfoProviderTest {
inker = "inker, inker2"
colorist = "colorist, colorist2"
editor = "editor, editor2"
translator = "translator, translator2"
letterer = "letterer, letterer2"
coverArtist = "coverArtist, coverArtist2"
}
@ -293,9 +295,9 @@ class ComicInfoProviderTest {
val patch = comicInfoProvider.getBookMetadataFromBook(BookWithMedia(book, media))
with(patch!!) {
assertThat(authors).hasSize(14)
assertThat(authors?.map { it.name }).containsExactlyInAnyOrder("writer", "penciller", "inker", "colorist", "editor", "letterer", "coverArtist", "writer2", "penciller2", "inker2", "colorist2", "editor2", "letterer2", "coverArtist2")
assertThat(authors?.map { it.role }?.distinct()).containsExactlyInAnyOrder("writer", "penciller", "inker", "colorist", "editor", "letterer", "cover")
assertThat(authors).hasSize(16)
assertThat(authors?.map { it.name }).containsExactlyInAnyOrder("writer", "penciller", "inker", "colorist", "editor", "letterer", "coverArtist", "writer2", "penciller2", "inker2", "colorist2", "editor2", "letterer2", "coverArtist2", "translator", "translator2")
assertThat(authors?.map { it.role }?.distinct()).containsExactlyInAnyOrder("writer", "penciller", "inker", "colorist", "editor", "letterer", "cover", "translator")
}
}

View file

@ -32,6 +32,7 @@ class ComicInfoTest {
assertThat(blackAndWhite).isEqualTo(YesNo.NO)
assertThat(manga).isEqualTo(Manga.NO)
assertThat(seriesGroup).isEqualTo("Sandman")
assertThat(translator).isEqualTo("The translator")
}
}

View file

@ -21,6 +21,7 @@
 Collects THE SANDMAN #1-8.</Summary>
<Notes>Scraped metadata from Comixology [CMXDB727888], [RELDATE:2018-10-30]</Notes>
<Translator>The translator</Translator>
<Publisher>DC</Publisher>
<Imprint>Vertigo</Imprint>
<Count>10</Count>