forked from WEB-IB-SS26/development-ib
56 lines
1020 B
Go
56 lines
1020 B
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
"strconv"
|
|
)
|
|
|
|
func main() {
|
|
|
|
if len(os.Args) == 1 {
|
|
fmt.Println("Kein Befehl angegeben!")
|
|
return
|
|
}
|
|
|
|
if err := ensureFileExists(); err != nil {
|
|
fmt.Println("Fehler beim prüfen der Datei:", err)
|
|
return
|
|
}
|
|
|
|
switch args := os.Args; args[1] {
|
|
case "add", "Add":
|
|
if len(args) < 4 {
|
|
fmt.Println("Nutzung: add <title> <author>")
|
|
return
|
|
}
|
|
if err := addBook(args[2], args[3]); err != nil {
|
|
fmt.Println("Fehler beim Hinzufügen:", err)
|
|
}
|
|
|
|
case "list", "List":
|
|
if err := listBooks(); err != nil {
|
|
fmt.Println("Fehler beim Auflisten:", err)
|
|
}
|
|
|
|
case "read", "Read":
|
|
if len(args) < 3 {
|
|
fmt.Println("Nutzung: read <id>")
|
|
return
|
|
}
|
|
convId, err := strconv.Atoi(args[2])
|
|
if err != nil || convId <= 0 {
|
|
fmt.Println("ID ist keine positive Ganzzahl!")
|
|
return
|
|
}
|
|
|
|
if err := markBook(convId); err != nil {
|
|
fmt.Println("Fehler beim Markieren:", err)
|
|
}
|
|
|
|
default:
|
|
fmt.Println("Unknown command!")
|
|
fmt.Println("Nutzung: add|list|read")
|
|
}
|
|
}
|