boxd/main.go

54 lines
1.7 KiB
Go
Raw Permalink Normal View History

package main
import (
"github.com/spf13/cobra"
)
func main() {
var isMovie bool
var isSeries bool
var isEpisode bool
cmdLog := &cobra.Command{
Use: "add",
Short: "log media",
Long: `kind of like a movie diary with required
information about the watched movies`,
Args: cobra.NoArgs,
Run: func(cmd *cobra.Command, args []string) {
LOGMedia(isMovie, isSeries, isEpisode)
},
}
cmdList := &cobra.Command{
Use: "list",
Short: "list media",
Long: `kind of like a movie diary with required
information about the watched movies`,
Run: func(cmd *cobra.Command, args []string) {
Listmovies(isMovie, isSeries, isEpisode)
},
}
cmdLog.Flags().BoolVarP(&isMovie, "movie", "m", false, "log a movie")
cmdLog.Flags().BoolVarP(&isSeries, "series", "t", false, "log a tv show")
cmdLog.Flags().BoolVarP(&isEpisode, "episode", "e", false, "log an epiosdes")
cmdLog.MarkFlagsOneRequired("movie", "series", "episode")
cmdLog.MarkFlagsMutuallyExclusive("movie", "series")
cmdList.Flags().BoolVarP(&isMovie, "movie", "m", false, "list logged movies")
cmdList.Flags().BoolVarP(&isSeries, "series", "t", false, "list logged tv shows")
cmdList.Flags().BoolVarP(&isEpisode, "episodes", "e", false, "list logged episodes")
cmdList.MarkFlagsOneRequired("movie", "series", "episodes")
cmdList.MarkFlagsMutuallyExclusive("movie", "series")
rootCmd := &cobra.Command{
Use: "boxd",
Short: "keep track of media within the comfort of the command line",
Long: "boxd allows you to log movies, tv shows and episodes that you watched. boxd can also display a nice looking diary about your media",
}
rootCmd.AddCommand(cmdLog)
rootCmd.AddCommand(cmdList)
rootCmd.Execute()
}