Фикс игнорирования флагов -f/-u/-c при наличии playlists.ini
This commit is contained in:
@@ -53,26 +53,28 @@ func PrepareListsToCheck(files []string, urls []string, codes []string) []playli
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ini, err := inifile.Init(app.Args.IniPath)
|
if len(lists) == 0 || len(codes) > 0 {
|
||||||
if err != nil {
|
ini, err := inifile.Init(app.Args.IniPath)
|
||||||
log.Printf("Warning: %s, all --code flags will be ignored\n", err)
|
if err != nil {
|
||||||
return lists
|
log.Printf("Warning: %s, all --code flags will be ignored\n", err)
|
||||||
}
|
return lists
|
||||||
|
|
||||||
if len(codes) > 0 {
|
|
||||||
for _, plsCode := range codes {
|
|
||||||
list := ini.Lists[plsCode]
|
|
||||||
if list.Url == "" {
|
|
||||||
log.Printf("Warning: playlist [%s] not found in ini-file, skipping\n", plsCode)
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
lists = append(lists, list)
|
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
lists = slices.Collect(maps.Values(ini.Lists))
|
if len(codes) > 0 {
|
||||||
if int(app.Args.RandomCount) > 0 && int(app.Args.RandomCount) <= len(lists) {
|
for _, plsCode := range codes {
|
||||||
rand.Shuffle(len(lists), func(i int, j int) { lists[i], lists[j] = lists[j], lists[i] })
|
list := ini.Lists[plsCode]
|
||||||
lists = lists[:app.Args.RandomCount]
|
if list.Url == "" {
|
||||||
|
log.Printf("Warning: playlist [%s] not found in ini-file, skipping\n", plsCode)
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
lists = append(lists, list)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
lists = slices.Collect(maps.Values(ini.Lists))
|
||||||
|
if int(app.Args.RandomCount) > 0 && int(app.Args.RandomCount) <= len(lists) {
|
||||||
|
rand.Shuffle(len(lists), func(i int, j int) { lists[i], lists[j] = lists[j], lists[i] })
|
||||||
|
lists = lists[:app.Args.RandomCount]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,6 @@ import (
|
|||||||
"axenov/iptv-checker/app/logger"
|
"axenov/iptv-checker/app/logger"
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
"log"
|
"log"
|
||||||
"os"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// checkCmd represents the file command
|
// checkCmd represents the file command
|
||||||
@@ -25,14 +24,10 @@ var checkCmd = &cobra.Command{
|
|||||||
files, _ := cmd.Flags().GetStringSlice("file")
|
files, _ := cmd.Flags().GetStringSlice("file")
|
||||||
urls, _ := cmd.Flags().GetStringSlice("url")
|
urls, _ := cmd.Flags().GetStringSlice("url")
|
||||||
codes, _ := cmd.Flags().GetStringSlice("code")
|
codes, _ := cmd.Flags().GetStringSlice("code")
|
||||||
|
|
||||||
if len(files) < 1 && len(urls) < 1 && len(codes) < 1 {
|
|
||||||
log.Println("ERROR: You should provide at least one of --file, --url or --code flags")
|
|
||||||
os.Exit(2)
|
|
||||||
}
|
|
||||||
|
|
||||||
lists := checker.PrepareListsToCheck(files, urls, codes)
|
lists := checker.PrepareListsToCheck(files, urls, codes)
|
||||||
|
|
||||||
checker.CheckPlaylists(lists)
|
checker.CheckPlaylists(lists)
|
||||||
|
log.Println("Done!")
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user