change db types for better handling
This commit is contained in:
@@ -13,7 +13,7 @@ type MeteoData struct {
|
||||
MaxTemp float32 `csv:"temperatura maxima"`
|
||||
MinTemp float32 `csv:"temperatura minima"`
|
||||
Rainfall float32 `csv:"precipitacion"`
|
||||
Cloudiness float32 `csv:"nubosidad"`
|
||||
Cloudiness int `csv:"nubosidad"`
|
||||
}
|
||||
|
||||
type RejectedMeteoData struct {
|
||||
|
||||
@@ -129,7 +129,7 @@ func normalize(record H) (*MeteoData, error) {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
meteoData.Cloudiness, err = parseFloatField(record, "Nubosidad (%)", ErrMissingOrInvalidCloudiness)
|
||||
meteoData.Cloudiness, err = parseIntField(record, "Nubosidad (%)", ErrMissingOrInvalidCloudiness)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -166,3 +166,15 @@ func parseFloatField(record H, key string, errMissing error) (float32, error) {
|
||||
}
|
||||
return 0, errMissing
|
||||
}
|
||||
|
||||
func parseIntField(record H, key string, errMissing error) (int, error) {
|
||||
if str, ok := record[key].(string); ok && str != "" {
|
||||
str = strings.TrimSpace(str)
|
||||
i, err := strconv.Atoi(str)
|
||||
if err != nil {
|
||||
return 0, errMissing
|
||||
}
|
||||
return i, nil
|
||||
}
|
||||
return 0, errMissing
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user