From 6ae19dcc07980f4daaa337edd624d6f68ae3578b Mon Sep 17 00:00:00 2001 From: hanemile Date: Mon, 21 Jan 2019 22:11:25 +0100 Subject: grouped the functions in individual files and created a detailed README.md --- export.go | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 export.go (limited to 'export.go') diff --git a/export.go b/export.go new file mode 100644 index 0000000..9cc67af --- /dev/null +++ b/export.go @@ -0,0 +1,40 @@ +package main + +import ( + "encoding/json" + "fmt" + "io/ioutil" + "net/http" + "strconv" + + "github.com/gorilla/mux" +) + +// export exports all the trees +func export(treeindex int64) error { + // Convert the data to json + jsonData, jsonMarshalerError := json.Marshal(treeArray[treeindex]) + if jsonMarshalerError != nil { + panic(jsonMarshalerError) + } + + // write the json formatted byte data to a file + err := ioutil.WriteFile(fmt.Sprintf("/exports/tree_%d.json", treeindex), jsonData, 0644) + if err != nil { + return err + } + return nil +} + +// export the selected tree to the selected file +func exportHandler(w http.ResponseWriter, r *http.Request) { + vars := mux.Vars(r) + treeindex, _ := strconv.ParseInt(vars["treeindex"], 10, 0) + + err := export(treeindex) + if err != nil { + panic(err) + } + + _, _ = fmt.Fprintf(w, "Exportet Tree %d", treeindex) +} -- cgit 1.4.1