From 2b02cabee8763ddbd17dfc4f402e5f52dc0efe00 Mon Sep 17 00:00:00 2001 From: "Diogo Franco (Kovensky)" Date: Tue, 16 Jul 2013 13:20:22 -0300 Subject: [PATCH] anidb: Add logging to titlecache, be more careful with caching Only cache the new anime-titles.dat.gz (thus truncating an older one) if we can download it entirely to memory (it's little less than 600KB). --- titlecache.go | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/titlecache.go b/titlecache.go index d32175e..5901fd4 100644 --- a/titlecache.go +++ b/titlecache.go @@ -1,8 +1,10 @@ package anidb import ( + "bytes" "github.com/Kovensky/go-anidb/titles" "io" + "log" "net/http" "time" ) @@ -47,21 +49,36 @@ func UpdateTitles() error { c := &http.Client{Transport: &http.Transport{DisableCompression: true}} + log.Printf("HTTP>>> %s", titles.DataDumpURL) + resp, err := c.Get(titles.DataDumpURL) if err != nil { + log.Printf("HTTP<<< %s", resp.Status) return err } defer resp.Body.Close() + buf := bytes.Buffer{} + log.Printf("HTTP--- %s", resp.Status) + + _, err = io.Copy(&buf, resp.Body) + if err != nil { + log.Printf("HTTP--- %v", err) + return err + } + fh, err := cache.Create("anime-titles.dat.gz") if err != nil { return err } - _, err = io.Copy(fh, resp.Body) + _, err = io.Copy(fh, &buf) if err != nil { return err } + defer func() { + log.Printf("HTTP<<< Titles version %s", titlesDB.UpdateTime) + }() return RefreshTitles() } -- 2.44.0