45 lines
1.0 KiB
Go
45 lines
1.0 KiB
Go
package main
|
|
|
|
import (
|
|
"bufio"
|
|
"flag"
|
|
"fmt"
|
|
"m3u8-downloader/cmd/downloader"
|
|
"m3u8-downloader/cmd/processor"
|
|
"m3u8-downloader/cmd/transfer"
|
|
"os"
|
|
"strings"
|
|
"time"
|
|
)
|
|
|
|
func main() {
|
|
url := flag.String("url", "", "M3U8 playlist URL")
|
|
eventName := flag.String("event", time.Now().Format("2006-01-02"), "Event name")
|
|
debug := flag.Bool("debug", false, "Enable debug mode")
|
|
transferOnly := flag.Bool("transfer", false, "Transfer-only mode: transfer existing files without downloading")
|
|
processOnly := flag.Bool("process", false, "Process-only mode: process existing files without downloading")
|
|
|
|
flag.Parse()
|
|
|
|
if *transferOnly {
|
|
transfer.RunTransferOnly(*eventName)
|
|
return
|
|
}
|
|
|
|
if *processOnly {
|
|
processor.Process()
|
|
return
|
|
}
|
|
|
|
if *url == "" {
|
|
reader := bufio.NewReader(os.Stdin)
|
|
fmt.Print("Enter M3U8 playlist URL: ")
|
|
inputUrl, _ := reader.ReadString('\n')
|
|
inputUrl = strings.TrimSpace(inputUrl)
|
|
downloader.Download(inputUrl, *eventName, *debug)
|
|
return
|
|
}
|
|
|
|
downloader.Download(*url, *eventName, *debug)
|
|
}
|