trakt: strip non alphanumeric characters from imdb id

This commit is contained in:
James Bayliss
2021-02-15 19:17:32 +00:00
parent 95cf1fe961
commit aadc5ece4f
4 changed files with 42 additions and 12 deletions

View File

@@ -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
}

View File

@@ -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))
}

14
util/hash.go Normal file
View File

@@ -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))
}

20
util/string.go Normal file
View File

@@ -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, "")
}