Added file writer
This commit is contained in:
parent
d284ff4446
commit
a59a696b99
@ -1,7 +1,6 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"os"
|
||||
"os/signal"
|
||||
)
|
||||
@ -9,8 +8,8 @@ import (
|
||||
func signalCatcher() {
|
||||
c := make(chan os.Signal)
|
||||
signal.Notify(c)
|
||||
for sig := range c {
|
||||
fmt.Printf("Signal received: %v", sig)
|
||||
for _ = range c {
|
||||
//fmt.Printf("Signal received: %v", sig)
|
||||
}
|
||||
}
|
||||
|
||||
|
44
newEntry.go
44
newEntry.go
@ -4,17 +4,23 @@ import (
|
||||
"bufio"
|
||||
"fmt"
|
||||
"os"
|
||||
"strconv"
|
||||
"strings"
|
||||
"time"
|
||||
)
|
||||
|
||||
const (
|
||||
maxContent int = 10000
|
||||
maxSign int = 1000
|
||||
maxName int = 25
|
||||
)
|
||||
|
||||
var (
|
||||
reader *bufio.Reader = bufio.NewReader(os.Stdin)
|
||||
)
|
||||
|
||||
func msgContent() (string, bool) {
|
||||
var msg string
|
||||
reader := bufio.NewReader(os.Stdin)
|
||||
|
||||
S:
|
||||
for {
|
||||
@ -39,7 +45,6 @@ S:
|
||||
func msgSign() (string, bool) {
|
||||
var sign string
|
||||
var end int = -1
|
||||
reader := bufio.NewReader(os.Stdin)
|
||||
|
||||
S:
|
||||
for {
|
||||
@ -65,14 +70,39 @@ S:
|
||||
return sign, true
|
||||
}
|
||||
|
||||
func writeToFile(content string) bool {
|
||||
func writeToFile(filename, content string) bool {
|
||||
f, err := os.Create(filename)
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
return false
|
||||
}
|
||||
defer f.Close()
|
||||
|
||||
buf := bufio.NewWriter(f)
|
||||
|
||||
bytes, err := buf.WriteString(content)
|
||||
if err != nil {
|
||||
return false
|
||||
}
|
||||
|
||||
buf.Flush()
|
||||
fmt.Printf("\nUw bericht van %v bytes is opgeslagen in het gastenboek. Druk op enter om terug te keren in het menu.\n", bytes)
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
func makeEntry() bool {
|
||||
clear()
|
||||
|
||||
fmt.Printf("Schrijf hieronder uw bericht aan het nieuwe bestuur van Thalia.\nU kunt alle tekens binnen de unicode gebruiken, u kunt maximaal %d bytes gebruiken.\nU Schrijft per regel, dus nadat een regel getypt is, is deze definitief.\nSluit uw bericht af met een regel \"Aldus ons bericht.\", u kunt het bericht daarna nog persoonlijk ondertekenen.\n", maxContent)
|
||||
fmt.Print("Vul de naam van uw vereniging of commissie in: ")
|
||||
name, nameOk := reader.ReadString('\n')
|
||||
if nameOk != nil {
|
||||
return false
|
||||
} else if len(name) > maxName {
|
||||
name = name[:maxName-1]
|
||||
}
|
||||
|
||||
fmt.Printf("\n\nSchrijf hieronder uw bericht aan het nieuwe bestuur van Thalia.\nU kunt alle tekens binnen de unicode gebruiken, u kunt maximaal %d bytes gebruiken.\nU Schrijft per regel, dus nadat een regel getypt is, is deze definitief.\nSluit uw bericht af met een regel \"Aldus ons bericht.\", u kunt het bericht daarna nog persoonlijk ondertekenen.\n", maxContent)
|
||||
var width, _ int = terminalSize()
|
||||
fmt.Print(strings.Repeat("-", width-1) + "\n")
|
||||
content, ok := msgContent()
|
||||
@ -87,7 +117,9 @@ func makeEntry() bool {
|
||||
return false
|
||||
}
|
||||
|
||||
ok = writeToFile(content + "\n\n" + sign)
|
||||
ok = writeToFile(strconv.FormatInt(time.Now().Unix(), 10)+" "+name, content+"\n\n"+sign)
|
||||
|
||||
return true
|
||||
reader.ReadString('\n')
|
||||
|
||||
return ok
|
||||
}
|
||||
|
Reference in New Issue
Block a user