diff --git a/media/trakt/media.go b/media/trakt/media.go index 967c1b8..f82a8e4 100644 --- a/media/trakt/media.go +++ b/media/trakt/media.go @@ -51,7 +51,10 @@ func (c *Client) GetShow(tvdbId string) (*Show, error) { } // translate response - return &(*b)[0].Show, nil + show := &(*b)[0].Show + show.Ids.Imdb = util.StripNonAlphaNumeric(show.Ids.Imdb) + + return show, nil } func (c *Client) GetMovie(imdbId string) (*Movie, error) { @@ -92,5 +95,8 @@ func (c *Client) GetMovie(imdbId string) (*Movie, error) { } // translate response - return &(*b)[0].Movie, nil + movie := &(*b)[0].Movie + movie.Ids.Imdb = util.StripNonAlphaNumeric(movie.Ids.Imdb) + + return movie, nil } diff --git a/util/misc.go b/util/default.go similarity index 58% rename from util/misc.go rename to util/default.go index 3f57b50..3ab3834 100644 --- a/util/misc.go +++ b/util/default.go @@ -1,8 +1,6 @@ package util import ( - "crypto/sha256" - "fmt" "strconv" "strings" ) @@ -22,11 +20,3 @@ func Atof64(val string, defaultVal float64) float64 { } return n } - -func AsSHA256(o interface{}) string { - // credits: https://blog.8bitzen.com/posts/22-08-2019-how-to-hash-a-struct-in-go - h := sha256.New() - h.Write([]byte(fmt.Sprintf("%v", o))) - - return fmt.Sprintf("%x", h.Sum(nil)) -} diff --git a/util/hash.go b/util/hash.go new file mode 100644 index 0000000..16a2c20 --- /dev/null +++ b/util/hash.go @@ -0,0 +1,14 @@ +package util + +import ( + "crypto/sha256" + "fmt" +) + +func AsSHA256(o interface{}) string { + // credits: https://blog.8bitzen.com/posts/22-08-2019-how-to-hash-a-struct-in-go + h := sha256.New() + h.Write([]byte(fmt.Sprintf("%v", o))) + + return fmt.Sprintf("%x", h.Sum(nil)) +} diff --git a/util/string.go b/util/string.go new file mode 100644 index 0000000..658d165 --- /dev/null +++ b/util/string.go @@ -0,0 +1,20 @@ +package util + +import "regexp" + +var ( + reStripNonAlphaNumeric *regexp.Regexp +) + +func init() { + reg, err := regexp.Compile("[^a-zA-Z0-9]+") + if err != nil { + panic(err) + } + reStripNonAlphaNumeric = reg +} + +func StripNonAlphaNumeric(value string) string { + // credits: https://golangcode.com/how-to-remove-all-non-alphanumerical-characters-from-a-string/ + return reStripNonAlphaNumeric.ReplaceAllString(value, "") +}