fix(pkg/logfile): support write and read air pressure values from json logfile
This commit is contained in:
parent
043fc395d9
commit
397f870435
@ -58,6 +58,15 @@ func (jl *jsonLogfile) Read() ([]types.MeasuredValue, error) {
|
||||
measuredValues = append(measuredValues, temperature)
|
||||
}
|
||||
|
||||
if _, ok := mappedMeasuredValue["pressure_id"]; ok {
|
||||
pressure, err := jl.transformPressure(mappedMeasuredValue)
|
||||
if err != nil {
|
||||
log.Printf("Can not unmarshal pressure from map: %v", err)
|
||||
continue
|
||||
}
|
||||
measuredValues = append(measuredValues, pressure)
|
||||
}
|
||||
|
||||
if _, ok := mappedMeasuredValue["humidity_id"]; ok {
|
||||
humidity, err := jl.transformHumidity(mappedMeasuredValue)
|
||||
if err != nil {
|
||||
@ -118,6 +127,52 @@ func (jl *jsonLogfile) transformHumidity(mappedMeasuredValue map[string]interfac
|
||||
return humidity, nil
|
||||
}
|
||||
|
||||
func (jl *jsonLogfile) transformPressure(mappedMeasuredValue map[string]interface{}) (types.MeasuredValue, error) {
|
||||
|
||||
pressure := &types.Pressure{
|
||||
PressureID: mappedMeasuredValue["pressure_id"].(string),
|
||||
SensorID: mappedMeasuredValue["sensor_id"].(string),
|
||||
CreationDate: nil,
|
||||
UpdateDate: nil,
|
||||
}
|
||||
|
||||
pressureValue, err := strconv.ParseFloat(mappedMeasuredValue["pressure_value"].(string), 64)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("%v for pressure value. PressureID %v: %v", errorParseFloat, mappedMeasuredValue["pressure_id"].(string), err)
|
||||
}
|
||||
pressure.PressureValue = pressureValue
|
||||
|
||||
pressureFromDate, err := time.Parse(timeFormat, mappedMeasuredValue["pressure_from_date"].(string))
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("%v for pressure from date. PressureID %v: %v", errorParseTime, mappedMeasuredValue["pressure_id"].(string), err)
|
||||
}
|
||||
pressure.PressureFromDate = pressureFromDate
|
||||
|
||||
pressureTillDate, err := time.Parse(timeFormat, mappedMeasuredValue["pressure_till_date"].(string))
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("%v for pressure till date. PressureID %v: %v", errorParseTime, mappedMeasuredValue["pressure_id"].(string), err)
|
||||
}
|
||||
pressure.PressureTillDate = pressureTillDate
|
||||
|
||||
if mappedMeasuredValue["creation_date"] != nil {
|
||||
creationDate, err := time.Parse(timeFormat, mappedMeasuredValue["creation_date"].(string))
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("%v for creation date. PressureID %v: %v", errorParseTime, mappedMeasuredValue["pressure_id"].(string), err)
|
||||
}
|
||||
pressure.CreationDate = &creationDate
|
||||
}
|
||||
|
||||
if mappedMeasuredValue["update_date"] != nil {
|
||||
updateDate, err := time.Parse(timeFormat, mappedMeasuredValue["update_date"].(string))
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("%v for update date. PressureID %v: %v", errorParseTime, mappedMeasuredValue["pressure_id"].(string), err)
|
||||
}
|
||||
pressure.UpdateDate = &updateDate
|
||||
}
|
||||
|
||||
return pressure, nil
|
||||
}
|
||||
|
||||
func (jl *jsonLogfile) transformTemperature(mappedMeasuredValue map[string]interface{}) (types.MeasuredValue, error) {
|
||||
|
||||
temperature := &types.Temperature{
|
||||
|
Loading…
Reference in New Issue
Block a user