From bbaf70974dad6552090f77ba62ebf1679dbd495d Mon Sep 17 00:00:00 2001 From: Brian Tiger Chow Date: Mon, 12 Jan 2015 18:23:29 -0800 Subject: [PATCH] move utility method --- repo/config/config.go | 14 ++++++++++++++ repo/fsrepo/fsrepo.go | 2 +- repo/fsrepo/serialize.go | 13 ------------- 3 files changed, 15 insertions(+), 14 deletions(-) diff --git a/repo/config/config.go b/repo/config/config.go index 939c4564c..a0a79eeba 100644 --- a/repo/config/config.go +++ b/repo/config/config.go @@ -2,9 +2,11 @@ package config import ( + "bytes" "encoding/base64" "encoding/json" "errors" + "fmt" "os" "path/filepath" "strings" @@ -205,3 +207,15 @@ func Marshal(value interface{}) ([]byte, error) { // need to prettyprint, hence MarshalIndent, instead of Encoder return json.MarshalIndent(value, "", " ") } + +func FromMap(v map[string]interface{}) (*Config, error) { + var buf bytes.Buffer + if err := json.NewEncoder(&buf).Encode(v); err != nil { + return nil, err + } + var conf Config + if err := json.NewDecoder(&buf).Decode(&conf); err != nil { + return nil, fmt.Errorf("Failure to decode config: %s", err) + } + return &conf, nil +} diff --git a/repo/fsrepo/fsrepo.go b/repo/fsrepo/fsrepo.go index 4e3578ba3..53e38745a 100644 --- a/repo/fsrepo/fsrepo.go +++ b/repo/fsrepo/fsrepo.go @@ -149,7 +149,7 @@ func (r *FSRepo) SetConfigKey(key string, value interface{}) error { if err := writeConfigFile(filename, mapconf); err != nil { return err } - conf, err := convertMapToConfig(mapconf) + conf, err := config.FromMap(mapconf) if err != nil { return err } diff --git a/repo/fsrepo/serialize.go b/repo/fsrepo/serialize.go index 1aab1b7cf..598941f78 100644 --- a/repo/fsrepo/serialize.go +++ b/repo/fsrepo/serialize.go @@ -1,7 +1,6 @@ package fsrepo import ( - "bytes" "encoding/json" "fmt" "io" @@ -73,18 +72,6 @@ func encode(w io.Writer, value interface{}) error { return err } -func convertMapToConfig(v map[string]interface{}) (*config.Config, error) { - var buf bytes.Buffer - if err := json.NewEncoder(&buf).Encode(v); err != nil { - return nil, err - } - var conf config.Config - if err := json.NewDecoder(&buf).Decode(&conf); err != nil { - return nil, fmt.Errorf("Failure to decode config: %s", err) - } - return &conf, nil -} - // load reads given file and returns the read config, or error. func load(filename string) (*config.Config, error) { // if nothing is there, fail. User must run 'ipfs init'