forked from WEB-IMB-WS2526/lab-development-imb
51 lines
899 B
Go
51 lines
899 B
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
"strconv"
|
|
)
|
|
|
|
func main() {
|
|
if len(os.Args) < 2 {
|
|
fmt.Println("Usage: add <title> <author> | list | read <id>")
|
|
return
|
|
}
|
|
|
|
lib, _ := LoadLibrary("books.json")
|
|
|
|
switch os.Args[1] {
|
|
case "add":
|
|
if len(os.Args) < 4 {
|
|
fmt.Println("Usage: add <title> <author>")
|
|
return
|
|
}
|
|
lib.Add(os.Args[2], os.Args[3])
|
|
lib.Save("books.json")
|
|
fmt.Println("Buch hinzugefügt.")
|
|
|
|
case "list":
|
|
for _, b := range lib.Books {
|
|
status := " "
|
|
if b.Read {
|
|
status = "✓"
|
|
}
|
|
fmt.Printf("[%s] %d: \"%s\" by %s\n", status, b.ID, b.Title, b.Author)
|
|
}
|
|
|
|
case "read":
|
|
if len(os.Args) < 3 {
|
|
fmt.Println("Geben Sie eine Buch-ID ein.")
|
|
return
|
|
}
|
|
id, err := strconv.Atoi(os.Args[2])
|
|
if err != nil {
|
|
fmt.Println("Ungültige ID-Eingabe.")
|
|
return
|
|
}
|
|
lib.MarkRead(id)
|
|
lib.Save("books.json")
|
|
fmt.Println("Buch als gelesen markiert.")
|
|
}
|
|
}
|