From 03d841455145877e49440376b52dd616f7c7aab8 Mon Sep 17 00:00:00 2001 From: Eduard Urbach Date: Tue, 17 Apr 2018 15:28:57 +0200 Subject: [PATCH] Added image parser --- jobs/mal-sync/mal-sync.go | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/jobs/mal-sync/mal-sync.go b/jobs/mal-sync/mal-sync.go index a6d3833a..e96ef8d2 100644 --- a/jobs/mal-sync/mal-sync.go +++ b/jobs/mal-sync/mal-sync.go @@ -3,11 +3,14 @@ package main import ( "fmt" + "github.com/aerogo/http/client" "github.com/animenotifier/arn" "github.com/animenotifier/mal" "github.com/fatih/color" ) +const malImageLargeWidth = 285 + var ( malDB = arn.Node.Namespace("mal").RegisterTypes((*mal.Anime)(nil)) characterFinder = arn.NewCharacterFinder("myanimelist/character") @@ -92,6 +95,17 @@ func sync(anime *arn.Anime, malID string) { anime.Title.English = malAnime.EnglishTitle } + if (!anime.HasImage() || anime.Image.Width < malImageLargeWidth) && malAnime.Image != "" { + fmt.Println("Downloading image:", malAnime.Image) + response, err := client.Get(malAnime.Image).End() + + if err == nil && response.StatusCode() == 200 { + anime.SetImageBytes(response.Bytes()) + } else { + color.Red("Error downloading image") + } + } + // Check for existence of characters animeCharacters := anime.Characters() modifiedCharacters := false