✨ Support yt-dlp shows
This commit is contained in:
parent
186bf5fcba
commit
dc9e6f59db
2 changed files with 45 additions and 7 deletions
|
|
@ -1,6 +1,7 @@
|
|||
package convids
|
||||
|
||||
import (
|
||||
"bufio"
|
||||
"cmp"
|
||||
"context"
|
||||
"errors"
|
||||
|
|
@ -165,14 +166,49 @@ func GetShow(ctx context.Context) ShowWalker {
|
|||
|
||||
func GetShowWithIO(ctx context.Context, stdin io.Reader, stdout, stderr io.Writer) ShowWalker {
|
||||
return func(s *Show, path string) error {
|
||||
//nolint:gosec // I don't care if this is using user input
|
||||
cmd := exec.CommandContext(ctx, "get-shows", s.Folder, path)
|
||||
cmd.Stdin = stdin
|
||||
cmd.Stdout = stdout
|
||||
cmd.Stderr = stderr
|
||||
return cmd.Run()
|
||||
}
|
||||
if !s.Url {
|
||||
return runGetShowsCmd(ctx, s.Folder, path, stdin, stdout, stderr)
|
||||
}
|
||||
|
||||
orig := path
|
||||
//nolint:gosec // I don't care if this is user input
|
||||
readFile, err := os.Open(orig)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
//nolint:errcheck // I don't care
|
||||
defer readFile.Close()
|
||||
|
||||
fileScan := bufio.NewScanner(readFile)
|
||||
fileScan.Split(bufio.ScanLines)
|
||||
|
||||
for fileScan.Scan() {
|
||||
path = fileScan.Text()
|
||||
err := runGetShowsCmd(ctx, s.Folder, path, stdin, stdout, stderr)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
if s.Backup != "" {
|
||||
err = os.Rename(orig, fp.Join(s.Backup, fp.Base(orig)))
|
||||
if err != nil {
|
||||
_, _ = fmt.Fprintf(stdout, "Moved %s to %s\n", orig, s.Backup)
|
||||
}
|
||||
} else {
|
||||
err = os.Remove(orig)
|
||||
}
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
func runGetShowsCmd(ctx context.Context, folder, path string, stdin io.Reader, stdout, stderr io.Writer) error {
|
||||
//nolint:gosec // I don't care if this is using user input
|
||||
cmd := exec.CommandContext(ctx, "get-shows", folder, path)
|
||||
cmd.Stdin = stdin
|
||||
cmd.Stdout = stdout
|
||||
cmd.Stderr = stderr
|
||||
return cmd.Run()
|
||||
}
|
||||
|
||||
func PrintGroupName(out io.Writer) GroupPrinter {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue