From 97fcfd145cbe5c6cd99b95ad0ca2986cf358fbd8 Mon Sep 17 00:00:00 2001 From: lordwelch Date: Mon, 15 Feb 2021 21:33:51 -0800 Subject: [PATCH] GOG Changelog Add FindChange to find a changelog matching a version Refactor --- gog/changelog.go | 16 ++++++++++++++-- gog/gog.go | 5 ++--- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/gog/changelog.go b/gog/changelog.go index 1baabb2..3e045cc 100644 --- a/gog/changelog.go +++ b/gog/changelog.go @@ -31,7 +31,6 @@ func (c Change) str(indent int) string { for _, v := range c.Sub { s.WriteString(v.str(indent + 1)) } - // s.WriteRune('\n') return s.String() } @@ -39,6 +38,19 @@ func (c Change) String() string { return c.str(0) } +func (c Change) FindChange(version string) *Change { + if strings.Contains(c.Title, version) { + return &c + } + for _, v := range c.Sub { + cc := v.FindChange(version) + if cc != nil { + return cc + } + } + return nil +} + func debug(f ...interface{}) { if len(os.Args) > 2 && os.Args[2] == "debug" { fmt.Println(f...) @@ -200,7 +212,7 @@ func ParseChangelog(ch, title string) (Change, error) { return v, nil } -func getGOGInfo(id string) (GOGalaxy, error) { +func RetrieveGOGInfo(id string) (GOGalaxy, error) { var ( r *http.Response err error diff --git a/gog/gog.go b/gog/gog.go index 6efc4a4..e7df255 100644 --- a/gog/gog.go +++ b/gog/gog.go @@ -146,10 +146,9 @@ func (d *Download) UnmarshalJSON(data []byte) error { if err := json.Unmarshal(x.ID, &i); err != nil { if err := json.Unmarshal(x.ID, &d.ID); err != nil { return err - } else { - return nil } - return err + return nil + } d.ID = i.String() return nil