package cmd import ( "fmt" "log" bunkr "tea.chunkbyte.com/kato/grabrr/lib/bunkr" "github.com/spf13/cobra" ) // infoCmd represents the info command var infoCmd = &cobra.Command{ Use: "info", Short: "A simple info fetch of a bunkr album", Long: `The command is used to fetch information about a specific bunkrr album, it will reply with all the information it has about it.`, Run: func(cmd *cobra.Command, args []string) { if err := runInfoCommand(); err != nil { log.Fatalf("error: %v", err) } }, } var ( albumURL string ) func init() { rootCmd.AddCommand(infoCmd) infoCmd.Flags().StringVarP(&albumURL, "url", "u", "", "Bunkrr album url (required)") infoCmd.MarkFlagRequired("url") } func runInfoCommand() error { album, err := bunkr.FetchAlbumInfo(albumURL) // Print fmt.Printf("Album Title: %s\n", album.Title) fmt.Printf("Album URL: %s\n", album.URL.String()) fmt.Printf("Files (%d):\n", len(album.Files)) for _, f := range album.Files { fmt.Printf(" - %s (%s)\n", f.Filename, f.URL.String()) } return err }