summary refs log tree commit diff stats
path: root/bpod
diff options
context:
space:
mode:
authorAndinus <andinus@nand.sh>2020-04-02 13:29:29 +0530
committerAndinus <andinus@nand.sh>2020-04-02 13:29:29 +0530
commitcf93554a7739e397e4977bde4fa4818bd58ae234 (patch)
tree3df0a6ffe13726e7c45afec9d6739d27df084604 /bpod
parent3c77b9c4b72350f25e61431c8b101bd9948a455a (diff)
downloadcetus-cf93554a7739e397e4977bde4fa4818bd58ae234.tar.gz
bpod: Re-enable cache & fix issues with v0.6.2
Diffstat (limited to 'bpod')
-rw-r--r--bpod/json.go17
1 files changed, 17 insertions, 0 deletions
diff --git a/bpod/json.go b/bpod/json.go
index a05c6fc..5822f11 100644
--- a/bpod/json.go
+++ b/bpod/json.go
@@ -26,6 +26,23 @@ type List struct {
 	Photos []BPOD `json:"images"`
 }
 
+// MarshalJson takes res as input and returns body. This remarshaling
+// is required because of a bug. To learn about why this is required,
+// remove this function & then run `cetus set bpod -random`. Put a
+// `fmt.Println(res, body)` somewhere and look at how they differ. res
+// will contain a single entry but body will have all 7 entries which
+// is bad because body is cached to disk to view later.
+func MarshalJson(res BPOD) (string, error) {
+	out, err := json.Marshal(res)
+	if err != nil {
+		err = fmt.Errorf("%s\n%s",
+			"MarshalJson failed",
+			err.Error())
+	}
+	body := string(out)
+	return body, err
+}
+
 // UnmarshalJson will take body as input & unmarshal it to res,
 func UnmarshalJson(body string) (BPOD, error) {
 	list := List{}