Enable module selection

This commit is contained in:
Alex D. 2022-10-11 07:27:07 +00:00
parent 2f166bb3a0
commit c13d3bcd82
Signed by: caskd
GPG Key ID: F92BA85F61F4C173
1 changed files with 13 additions and 2 deletions

15
main.go
View File

@ -15,14 +15,17 @@ import (
"strings"
"git.redxen.eu/caskd/goboru"
"git.redxen.eu/caskd/goboru/modules/e621"
"git.redxen.eu/caskd/goboru/modules/gelbooru"
)
func main() {
var (
jobs uint
jobs uint
module string
)
flag.UintVar(&jobs, "maxjobs", 10, "Maximum concurrent page fetch jobs")
flag.StringVar(&module, "module", "gelbooru", "Module to use")
flag.Parse()
var (
@ -30,7 +33,15 @@ func main() {
err error
)
if media, err = gelbooru.Query(flag.Args(), jobs); err != nil {
qFunc := map[string](goboru.QueryFunc){
"e621": e621.Query,
"gelbooru": gelbooru.Query,
}[module]
if qFunc == nil {
qFunc = gelbooru.Query
}
if media, err = qFunc(flag.Args(), goboru.Jobs(jobs)); err != nil {
log.Fatal(err)
}