"github.com/Kovensky/go-anidb/http"
"github.com/Kovensky/go-anidb/misc"
"github.com/Kovensky/go-anidb/udp"
+ "log"
"sort"
"strconv"
"strings"
go func() {
httpChan := make(chan httpAnimeResponse, 1)
go func() {
+ log.Printf("HTTP>>> Anime %d", aid)
a, err := httpapi.GetAnime(int(aid))
httpChan <- httpAnimeResponse{anime: a, err: err}
}()
for i := 0; i < 2; i++ {
select {
case <-timeout:
- ok = false
+ // HTTP API timeout
+ if httpChan != nil {
+ log.Printf("HTTP<<< Timeout")
+ close(httpChan)
+ }
case resp := <-httpChan:
if resp.err != nil {
+ log.Printf("HTTP<<< %v", resp.err)
ok = false
break Loop
}
- if !anime.populateFromHTTP(resp.anime) {
+
+ if resp.anime.Error != "" {
+ log.Printf("HTTP<<< Error %q", resp.anime.Error)
+ }
+
+ if anime.populateFromHTTP(resp.anime) {
+ log.Printf("HTTP<<< Anime %q", anime.PrimaryTitle)
+ } else {
// HTTP ok but parsing not ok
if anime.PrimaryTitle == "" {
cache.MarkInvalid(keys...)