diff --git a/cmd/streamdata/main.go b/cmd/streamdata/main.go index 5ae23d4..9b57ade 100644 --- a/cmd/streamdata/main.go +++ b/cmd/streamdata/main.go @@ -44,6 +44,44 @@ func main() { "Channel directory to open", ) + c.NewCommand( + "init", + "Create an empty channel", + func(args []string) (err error) { + if channel != nil { + if err = channel.Close(); err != nil { + return + } + channel = nil + } + + var pathname string + switch len(args) { + case 0: + pathname = "." + + case 1: + pathname = args[0] + + default: + return errors.New("init requires 1 argument") + } + + defer toErr(&err) + isattyStd() + br := bufio.NewReader(os.Stdin) + + var v streamdata.Channel + v.Identifier = require(promptUint(br, "Identifier: ")) + v.Name = require(prompt(br, "Channel name: ")) + if err = v.Create(pathname); err != nil { + return + } + channel = &v + return + }, + ) + c.NewCommand( "add", "Add a VOD to the channel",