main.go 1003 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. package main
  2. import (
  3. "encoding/xml"
  4. brlyt "github.com/WiiLink24/brlytlib"
  5. "log"
  6. "os"
  7. )
  8. func main() {
  9. if len(os.Args) != 4 {
  10. log.Println("Usage: brlytlib [toXML|toBRLYT] <input> <output>")
  11. os.Exit(1)
  12. }
  13. action := os.Args[1]
  14. input := os.Args[2]
  15. output := os.Args[3]
  16. switch action {
  17. case "toXML":
  18. file, err := os.ReadFile(input)
  19. if err != nil {
  20. log.Fatalln(err)
  21. }
  22. root, err := brlyt.ParseBRLYT(file)
  23. if err != nil {
  24. log.Fatalln(err)
  25. }
  26. theXML, err := xml.MarshalIndent(root, "", "\t")
  27. if err != nil {
  28. log.Fatalln(err)
  29. }
  30. err = os.WriteFile(output, theXML, 0666)
  31. if err != nil {
  32. log.Fatalln(err)
  33. }
  34. case "toBRLYT":
  35. file, err := os.ReadFile(input)
  36. if err != nil {
  37. log.Fatalln(err)
  38. }
  39. data, err := brlyt.WriteBRLYT(file)
  40. if err != nil {
  41. log.Fatalln(err)
  42. }
  43. err = os.WriteFile(output, data, 0666)
  44. if err != nil {
  45. log.Fatalln(err)
  46. }
  47. default:
  48. log.Println("Usage: brlytlib [toXML|toBRLYT] <input> <output>")
  49. os.Exit(1)
  50. }
  51. }