diff --git a/media/omdb/media.go b/media/omdb/media.go index 04355b9..a8f86ef 100644 --- a/media/omdb/media.go +++ b/media/omdb/media.go @@ -63,7 +63,7 @@ func (c *Client) GetItem(imdbId string) (*Item, error) { Metascore: util.Atoi(b.Metascore, 0), RottenTomatoes: rt, ImdbRating: util.Atof64(b.ImdbRating, 0.0), - ImdbVotes: util.Atoi(b.ImdbVotes, 0), + ImdbVotes: util.Atoi(util.StripNonNumeric(b.ImdbVotes), 0), Language: b.Language, Country: b.Country, }, nil diff --git a/util/string.go b/util/string.go index 658d165..336ccb4 100644 --- a/util/string.go +++ b/util/string.go @@ -4,17 +4,28 @@ import "regexp" var ( reStripNonAlphaNumeric *regexp.Regexp + reStripNonNumeric *regexp.Regexp ) func init() { - reg, err := regexp.Compile("[^a-zA-Z0-9]+") + reg1, err := regexp.Compile("[^a-zA-Z0-9]+") if err != nil { panic(err) } - reStripNonAlphaNumeric = reg + reStripNonAlphaNumeric = reg1 + + reg2, err := regexp.Compile("[^0-9]+") + if err != nil { + panic(err) + } + reStripNonNumeric = reg2 } func StripNonAlphaNumeric(value string) string { // credits: https://golangcode.com/how-to-remove-all-non-alphanumerical-characters-from-a-string/ return reStripNonAlphaNumeric.ReplaceAllString(value, "") } + +func StripNonNumeric(value string) string { + return reStripNonNumeric.ReplaceAllString(value, "") +} diff --git a/util/string_test.go b/util/string_test.go index 658d0ad..c673528 100644 --- a/util/string_test.go +++ b/util/string_test.go @@ -27,3 +27,36 @@ func TestStripNonAlphaNumeric(t *testing.T) { }) } } + +func TestStripNonNumeric(t *testing.T) { + type args struct { + value string + } + tests := []struct { + name string + args args + want string + }{ + { + name: "remove non numeric", + args: args{ + value: "10, 560", + }, + want: "10560", + }, + { + name: "remove nothing", + args: args{ + value: "100", + }, + want: "100", + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + if got := StripNonNumeric(tt.args.value); got != tt.want { + t.Errorf("StripNonNumeric() = %v, want %v", got, tt.want) + } + }) + } +}