import (
"bytes"
- "github.com/Kovensky/go-anidb/titles"
+ "github.com/EliasFleckenstein03/go-anidb/titles"
"io"
- "log"
"net/http"
"os"
"time"
return time.Now().Sub(titlesDB.UpdateTime) < 24*time.Hour
}
+// Returns the number of anime in the titles database
+func AnimeCount() int {
+ return len(titlesDB.AnimeMap)
+}
+
// Downloads a new anime-titles database if the database is outdated.
//
// Saves the database as anime-titles.dat.gz in the cache dir.
-func UpdateTitles() error {
+func (adb *AniDB) UpdateTitles() error {
+ // needs the AniDB for the Logger
+
// too new, no need to update
if TitlesUpToDate() {
return nil
c := &http.Client{Transport: &http.Transport{DisableCompression: true}}
- log.Printf("HTTP>>> %s", titles.DataDumpURL)
+ adb.Logger.Printf("HTTP>>> %s", titles.DataDumpURL)
resp, err := c.Get(titles.DataDumpURL)
if err != nil {
- log.Printf("HTTP<<< %s", resp.Status)
+ adb.Logger.Printf("HTTP<<< %s", resp.Status)
return err
}
defer resp.Body.Close()
buf := bytes.Buffer{}
- log.Printf("HTTP--- %s", resp.Status)
+ adb.Logger.Printf("HTTP--- %s", resp.Status)
_, err = io.Copy(&buf, resp.Body)
if err != nil {
- log.Printf("HTTP--- %v", err)
+ adb.Logger.Printf("HTTP--- %v", err)
return err
}
}
defer func() {
- log.Printf("HTTP<<< Titles version %s", titlesDB.UpdateTime)
+ adb.Logger.Printf("HTTP<<< Titles version %s", titlesDB.UpdateTime)
}()
return RefreshTitles()
}