boxd/main.go
x c14d4eff1a
Episode Logging + Cleaned Code
seperate table for episodes. fetches the season and episode information from tmdb. this is beta till
huh adds support for dynamic forms. seperated functions to few files.
more refactoring later.
2024-05-13 18:05:46 +05:30

49 lines
1.4 KiB
Go

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)
},
}
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 epiosde")
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.MarkFlagsOneRequired("movie", "series")
cmdList.MarkFlagsMutuallyExclusive("movie", "series")
rootCmd := &cobra.Command{Use: "boxd"}
rootCmd.AddCommand(cmdLog)
rootCmd.AddCommand(cmdList)
rootCmd.Execute()
}