X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=anidb.go;h=7029a46f04d6b470407a5f170552297cd8eabfee;hb=fc8ae9eff238b916cc773abd76840a232f9036b6;hp=b553108674a4549e209e00c037be3aff17b56036;hpb=b05b1e6b9de5552741cbc11eed8badb29175143b;p=go-anidb.git diff --git a/anidb.go b/anidb.go index b553108..7029a46 100644 --- a/anidb.go +++ b/anidb.go @@ -2,6 +2,8 @@ package anidb import ( + "io/ioutil" + "log" "time" ) @@ -19,21 +21,30 @@ import ( // by a previous Auth() call. type AniDB struct { Timeout time.Duration // Timeout for the various calls (default: 45s) + Logger *log.Logger // Logger where HTTP/UDP traffic is logged udp *udpWrap } // Initialises a new AniDB. func NewAniDB() *AniDB { - return &AniDB{ + ret := &AniDB{ Timeout: 45 * time.Second, - udp: newUDPWrap(), + Logger: log.New(ioutil.Discard, "", log.LstdFlags), } + ret.udp = newUDPWrap(ret) + return ret } func (adb *AniDB) User() *User { if adb != nil && adb.udp != nil { - return adb.udp.user + if adb.udp.user != nil { + return adb.udp.user + } else if adb.udp.credentials != nil { + // see if we can get it from the cache + adb.udp.user = UserByName(decrypt(adb.udp.credentials.username)) + return adb.udp.user + } } return nil }