aboutsummaryrefslogtreecommitdiff
path: root/dataimport/converter.go
diff options
context:
space:
mode:
Diffstat (limited to 'dataimport/converter.go')
-rw-r--r--dataimport/converter.go56
1 files changed, 56 insertions, 0 deletions
diff --git a/dataimport/converter.go b/dataimport/converter.go
new file mode 100644
index 0000000..6a44384
--- /dev/null
+++ b/dataimport/converter.go
@@ -0,0 +1,56 @@
1package dataimport
2
3import (
4 "fmt"
5 "strings"
6
7 "fagott.pw/goanilist"
8 "fagott.pw/grilist/models"
9)
10
11func ConvertGrilAnilist(char *goanilist.CharacterPageResult) *ImporterGril {
12 gril := &ImporterGril{}
13 gril.ID = char.ID
14 gril.KanjiName = char.JapaneseName
15 gril.RomajiName = strings.TrimSpace(fmt.Sprintf("%s %s", char.GivenName, char.FamilyName))
16 gril.Order = char.Order
17 if char.AlternativeName != "" {
18 gril.OtherNames = append(gril.OtherNames, char.AlternativeName)
19 }
20 if char.ImageURL != "" {
21 gril.Images = append(gril.Images, Image{
22 Type: ImageTypeFull,
23 URL: char.ImageURL,
24 })
25 }
26 if char.ThumbURL != "" {
27 gril.Images = append(gril.Images, Image{
28 Type: ImageTypeThumbnail,
29 URL: char.ThumbURL,
30 })
31 }
32 for _, anime := range char.Anime {
33 gril.Series = append(gril.Series, ConvertSeriesAnilist(anime.SeriesResult))
34 }
35 for _, manga := range char.Manga {
36 gril.Series = append(gril.Series, ConvertSeriesAnilist(manga.SeriesResult))
37 }
38 return gril
39}
40
41func ConvertSeriesTypeAnilist(seriesType string) models.SeriesType {
42 switch seriesType {
43 }
44 return models.SeriesTypeUnknown
45}
46
47func ConvertSeriesAnilist(series goanilist.SeriesResult) models.Series {
48 return models.Series{
49 ID: series.ID,
50 Type: ConvertSeriesTypeAnilist(series.Type),
51 Name: series.TitleEnglish,
52 KanjiName: series.TitleJapanese,
53 RomajiName: series.TitleRomaji,
54 OtherNames: series.Synonyms,
55 }
56}