summaryrefslogtreecommitdiff
path: root/filter/string.go
diff options
context:
space:
mode:
authorSilvan Jegen <s.jegen@gmail.com>2017-01-21 12:34:51 +0100
committerSilvan Jegen <s.jegen@gmail.com>2017-01-21 12:34:51 +0100
commit2eb6ecf4e9d8040bd2a698dbfa80bcd45b0c371e (patch)
tree732693efaf7e9c925a79a8cf412ceb2714d98b3c /filter/string.go
parent5c24009f2b1fd5a7e5abd4dc33ebdec0c6eaaf25 (diff)
Use the registry for filter modules as well
Diffstat (limited to 'filter/string.go')
-rw-r--r--filter/string.go56
1 files changed, 0 insertions, 56 deletions
diff --git a/filter/string.go b/filter/string.go
deleted file mode 100644
index cb44d75..0000000
--- a/filter/string.go
+++ /dev/null
@@ -1,56 +0,0 @@
-package filter
-
-import (
- "bytes"
- "encoding/json"
- "fmt"
- "io"
-
- "github.com/Shugyousha/stasher/work"
-)
-
-type StringFilter struct {
- FilterFuncMap map[string]func(string) string
-}
-
-func NewStringFilter(ffmap map[string]func(string) string) *StringFilter {
- return &StringFilter{FilterFuncMap: ffmap}
-}
-
-func (f *StringFilter) Filter(w *work.Work) *work.Work {
- dec := json.NewDecoder(bytes.NewReader(w.Data))
- jm := make(map[string]string, 10)
-
- err := dec.Decode(&jm)
- if err == io.EOF {
- fmt.Printf("EOF jm: %v\n", jm)
- return w
- }
- if err != nil {
- fmt.Printf("Error when decoding JSON: %q\n", err)
- w.Err = err
- return w
- }
-
- changed := false
- for field, ff := range f.FilterFuncMap {
- str, ok := jm[field]
- if !ok {
- continue
- }
-
- jm[field] = ff(str)
- changed = true
- }
- if changed {
- bs, err := json.Marshal(jm)
- if err != nil {
- fmt.Printf("Error when marshalling JSON: %q\n", err)
- w.Err = err
- } else {
- w.Data = bs
- }
- }
-
- return w
-}