From 7c50e3fc5ca7a60070ce3bfeb6d17aec1dac5a76 Mon Sep 17 00:00:00 2001 From: Wancat Date: Tue, 18 Oct 2022 02:55:32 +0800 Subject: [PATCH] Append to ledger file --- .gitignore | 1 + main.go | 19 +++++++++++++++++-- test.txt | 8 -------- 3 files changed, 18 insertions(+), 10 deletions(-) delete mode 100644 test.txt diff --git a/.gitignore b/.gitignore index 4c49bd7..90cefae 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ .env +test.txt diff --git a/main.go b/main.go index b4f0693..792c167 100644 --- a/main.go +++ b/main.go @@ -6,12 +6,15 @@ import ( "log" "net/http" "net/url" + "os" "text/template" "time" ) var tpl *template.Template +const LEDGER_FILE = "test.txt" + type TxData struct { Date string Amount string @@ -38,7 +41,8 @@ func main() { panic(err) } fmt.Println(r.Form) - if err := renderTx(w, r.Form); err != nil { + err := renderTx(w, r.Form) + if err != nil { panic(err) } }) @@ -52,5 +56,16 @@ func renderTx(w io.Writer, params url.Values) (err error) { Date: time.Now().Format("2006/01/02"), Amount: params.Get("amount"), } - return tpl.ExecuteTemplate(w, name, data) + f, err := os.OpenFile(LEDGER_FILE, os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0644) + if err != nil { + panic(err) + } + defer f.Close() + if err = tpl.ExecuteTemplate(f, name, data); err != nil { + return err + } + if err = tpl.ExecuteTemplate(w, name, data); err != nil { + return err + } + return nil } diff --git a/test.txt b/test.txt deleted file mode 100644 index c667989..0000000 --- a/test.txt +++ /dev/null @@ -1,8 +0,0 @@ -2022/10/18 - cash $1000 - assets:cash - -2022/10/18 - cash $1000 - assets:cash -