diff options
| author | horus | 2018-02-10 04:44:35 +0100 |
|---|---|---|
| committer | horus | 2018-02-10 04:44:35 +0100 |
| commit | a6b94e9ff249f878de8d5c8d4b96082f153bb93a (patch) | |
| tree | 07e42e6529a19283841e084c2b30068df23130ca | |
| parent | 968f6448af597b8375b858634f66ade558860aca (diff) | |
| download | alkobote-a6b94e9ff249f878de8d5c8d4b96082f153bb93a.tar.gz | |
Improves detecting of spirit_type. (crawler)
| -rw-r--r-- | crawler/database.go | 2 | ||||
| -rw-r--r-- | crawler/utility.go | 28 |
2 files changed, 20 insertions, 10 deletions
diff --git a/crawler/database.go b/crawler/database.go index f2abb4f..3d5b1bd 100644 --- a/crawler/database.go +++ b/crawler/database.go @@ -46,7 +46,7 @@ func (app *App) createTables() error { for _, v := range views { var spirit_type string if v == "misc" { - spirit_type = "Anderes" + spirit_type = "Verschiedenes" } else { spirit_type = v } diff --git a/crawler/utility.go b/crawler/utility.go index 9de7845..17ed47b 100644 --- a/crawler/utility.go +++ b/crawler/utility.go @@ -10,26 +10,36 @@ import ( ) func detect_spirit_type(name string) string { - if strings.Contains(name, "Gin") { + matched, err := regexp.MatchString(`(^|\s)Gin(\s|$)`, name) + if err != nil { + log.Fatal(err) + } + if matched { return "Gin" } - if strings.Contains(name, "Rum") { + matched, err = regexp.MatchString(`(^|\s)Rum(\s|$)`, name) + if err != nil { + log.Fatal(err) + } + if matched { return "Rum" } - if strings.Contains(name, "Vodka") { - return "Wodka" + matched, err = regexp.MatchString(`(^|\s)[VW]odka(\s|$)`, name) + if err != nil { + log.Fatal(err) } - if strings.Contains(name, "Wodka") { + if matched { return "Wodka" } - if strings.Contains(name, "Whisky") { - return "Whisky" + matched, err = regexp.MatchString(`(^|\s)Whiske?y(\s|$)`, name) + if err != nil { + log.Fatal(err) } - if strings.Contains(name, "Whiskey") { + if matched { return "Whisky" } - return "Anderes" + return "Verschiedenes" } func extract_volume(volume string) (float32, error) { |
