summaryrefslogtreecommitdiff
path: root/crawler/utility.go
diff options
context:
space:
mode:
authorhorus2018-02-16 16:57:10 +0100
committerhorus2018-02-16 16:57:39 +0100
commited6ab4da59f80bf9fa2cbf15da5c9167dff44ea4 (patch)
tree1038ab5d9b2a0b9bde5ee021624fa87422b705f8 /crawler/utility.go
parentb131ce750740ddb9c47515727327c06aa0d22aad (diff)
downloadalkobote-ed6ab4da59f80bf9fa2cbf15da5c9167dff44ea4.tar.gz
Adds structured logging. (crawler)
Diffstat (limited to 'crawler/utility.go')
-rw-r--r--crawler/utility.go33
1 files changed, 18 insertions, 15 deletions
diff --git a/crawler/utility.go b/crawler/utility.go
index c3daeb1..98587c9 100644
--- a/crawler/utility.go
+++ b/crawler/utility.go
@@ -1,7 +1,7 @@
package main
import (
- "log"
+ log "github.com/Sirupsen/logrus"
"regexp"
"strconv"
"strings"
@@ -21,56 +21,56 @@ func stringInSlice(a string, list []string) bool {
func detect_spirit_type(name string) string {
matched, err := regexp.MatchString(`(^|\s)Gin(\s|$)`, name)
if err != nil {
- log.Fatal(err)
+ Fatal(err, "Gin regex failed")
}
if matched {
return "Gin"
}
matched, err = regexp.MatchString(`(^|\s)Rh?um(\s|$)`, name)
if err != nil {
- log.Fatal(err)
+ Fatal(err, "Rum regex failed")
}
if matched {
return "Rum"
}
matched, err = regexp.MatchString(`(^|\s)[VW]odka(\s|$)`, name)
if err != nil {
- log.Fatal(err)
+ Fatal(err, "Wodka regex failed")
}
if matched {
return "Wodka"
}
matched, err = regexp.MatchString(`(^|\s)Whiske?y(\s|$)`, name)
if err != nil {
- log.Fatal(err)
+ Fatal(err, "Whisky regex failed")
}
if matched {
return "Whisky"
}
matched, err = regexp.MatchString(`(^|\s)Champagner(\s|$)`, name)
if err != nil {
- log.Fatal(err)
+ Fatal(err, "Champagner regex failed")
}
if matched {
return "Champagner"
}
matched, err = regexp.MatchString(`(^|\s)Cognac(\s|$)`, name)
if err != nil {
- log.Fatal(err)
+ Fatal(err, "Cognac regex failed")
}
if matched {
return "Cognac"
}
matched, err = regexp.MatchString(`(^|\s)Grappa(\s|$)`, name)
if err != nil {
- log.Fatal(err)
+ Fatal(err, "Grappa regex failed")
}
if matched {
return "Grappa"
}
matched, err = regexp.MatchString(`(^|\s)Likör(\s|$)`, name)
if err != nil {
- log.Fatal(err)
+ Fatal(err, "Likör regex failed")
}
if matched {
return "Likör"
@@ -82,18 +82,19 @@ func detect_spirit_type(name string) string {
func extract_volume(volume string) (float32, error) {
r_liter, err := regexp.Compile(`[0-9]+([,.][0-9]+)?( )?[lL](iter)?`)
if err != nil {
- log.Fatal(err)
+ Fatal(err, "Extract volume regex failed")
}
volume_noisy := r_liter.FindString(volume)
r_liter2, err := regexp.Compile(`[0-9]+([,.][0-9]+)?`)
if err != nil {
- log.Fatal(err)
+ Fatal(err, "2nd extract volume regex failed")
}
volume_noisy = r_liter2.FindString(volume_noisy)
volume_noisy = strings.Replace(volume_noisy, ",", ".", 1)
volume64, err := strconv.ParseFloat(volume_noisy, 32)
if err != nil {
+ Println(err, "Parsing volume to float failed")
return 0, err
}
@@ -114,12 +115,13 @@ func extract_abv(abv_noisy string) (float32, error) {
abv_noisy = strings.TrimSpace(abv_noisy)
r_abv, err := regexp.Compile(`[0-9]+([,.][0-9]+)?`)
if err != nil {
- log.Fatal(err)
+ Fatal(err, "Extract abv regex failed")
}
abv_noisy = r_abv.FindString(abv_noisy)
abv64, err := strconv.ParseFloat(abv_noisy, 32)
if err != nil {
+ Println(err, "Parsing abv to float failed")
return 0, err
}
@@ -135,6 +137,7 @@ func get_volume(e *colly.HTMLElement) float32 {
matched, err := regexp.MatchString(`[lL](iter)?`, volume_noisy)
if err != nil {
+ Fatal(err, "Get volume regex failed")
log.Fatal(err)
}
if !matched {
@@ -145,7 +148,7 @@ func get_volume(e *colly.HTMLElement) float32 {
volume, err := extract_volume(volume_noisy)
if err != nil {
log.Println("get_volume: " + volume_noisy)
- log.Fatal(err)
+ Fatal(err, "Get Volume: Extract Volume failed")
}
return volume
@@ -166,7 +169,7 @@ func get_abv(e *colly.HTMLElement) float32 {
abv, err := extract_abv(abv_noisy)
if err != nil {
log.Println("get_abv: " + abv_noisy)
- log.Fatal(err)
+ Fatal(err, "Get ABV: Extract ABV failed")
}
return abv
@@ -186,7 +189,7 @@ func get_base_price(e *colly.HTMLElement) int {
base_price, err := sanitize_base_price(base_price_noisy)
if err != nil {
log.Println("get_base_price: " + base_price_noisy)
- log.Fatal(err)
+ Fatal(err, "Get base price: sanitize base price failed")
}
return base_price