main.go 615 B

123456789101112131415161718192021222324252627282930313233343536
  1. package main
  2. import (
  3. "encoding/json"
  4. "fmt"
  5. "mimicry/kinds"
  6. "os"
  7. )
  8. // TODO: when returning errors, use zero value for return
  9. // also change all error messages to using sprintf-style
  10. // formatting, all lowercase, and no punctuation
  11. func main() {
  12. link := os.Args[len(os.Args)-1]
  13. command := os.Args[1]
  14. content, err := kinds.FetchUnknown(link)
  15. if err != nil {
  16. panic(err)
  17. }
  18. if command == "raw" {
  19. enc := json.NewEncoder(os.Stdout)
  20. if err := enc.Encode(content); err != nil {
  21. panic(err)
  22. }
  23. return
  24. }
  25. if str, err := content.String(); err != nil {
  26. panic(err)
  27. } else {
  28. fmt.Println(str)
  29. }
  30. }