Skip to content

Instantly share code, notes, and snippets.

@tarapon
Created August 6, 2019 20:29
Show Gist options
  • Save tarapon/4da639dee3cfa9799cbccfedd479f3aa to your computer and use it in GitHub Desktop.
Save tarapon/4da639dee3cfa9799cbccfedd479f3aa to your computer and use it in GitHub Desktop.
plugin
package main
import (
"strconv"
"github.com/rwynn/monstache/monstachemap"
)
// Map a plugin to convert document values to uppercase
func Map(input *monstachemap.MapperPluginInput) (*monstachemap.MapperPluginOutput, error) {
doc := input.Document
switch meta := doc["meta"].(type) {
case map[string]string:
slat, ok := meta["GPSLatitude"]
if !ok {
break
}
slon, ok := meta["GPSLongitude"]
if !ok {
break
}
lat, err := strconv.ParseFloat(slat, 64)
if err != nil {
break
}
lon, err := strconv.ParseFloat(slon, 64)
if err != nil {
break
}
doc["GPSLocation"] = map[string]float64{
"lat": lat,
"lon": lon,
}
return &monstachemap.MapperPluginOutput{Document: doc}, nil
}
return &monstachemap.MapperPluginOutput{Passthrough: true}, nil
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment