summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--crawler/database.go2
-rw-r--r--crawler/utility.go28
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) {