Add module wrappers for APIs
This commit is contained in:
parent
c13d3bcd82
commit
4c162a9f75
30
main.go
30
main.go
|
@ -13,6 +13,7 @@ import (
|
||||||
"log"
|
"log"
|
||||||
"os"
|
"os"
|
||||||
"strings"
|
"strings"
|
||||||
|
"time"
|
||||||
|
|
||||||
"git.redxen.eu/caskd/goboru"
|
"git.redxen.eu/caskd/goboru"
|
||||||
"git.redxen.eu/caskd/goboru/modules/e621"
|
"git.redxen.eu/caskd/goboru/modules/e621"
|
||||||
|
@ -21,27 +22,34 @@ import (
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
var (
|
var (
|
||||||
jobs uint
|
ji uint
|
||||||
module string
|
tout uint
|
||||||
|
api_key, uname, module string
|
||||||
)
|
)
|
||||||
flag.UintVar(&jobs, "maxjobs", 10, "Maximum concurrent page fetch jobs")
|
flag.UintVar(&ji, "maxjobs", 10, "Maximum concurrent page fetch jobs")
|
||||||
|
flag.UintVar(&tout, "timeout", 10, "Seconds to time out page fetches")
|
||||||
flag.StringVar(&module, "module", "gelbooru", "Module to use")
|
flag.StringVar(&module, "module", "gelbooru", "Module to use")
|
||||||
|
flag.StringVar(&api_key, "api_key", "", "API Key for requests")
|
||||||
|
flag.StringVar(&uname, "username", "", "Username for requests")
|
||||||
flag.Parse()
|
flag.Parse()
|
||||||
|
|
||||||
var (
|
var (
|
||||||
media []goboru.Media
|
media []goboru.Media
|
||||||
err error
|
err error
|
||||||
|
rtout time.Duration = time.Duration(tout) * time.Second
|
||||||
|
tags []string = flag.Args()
|
||||||
|
jobs = goboru.Jobs(ji)
|
||||||
)
|
)
|
||||||
|
|
||||||
qFunc := map[string](goboru.QueryFunc){
|
switch module {
|
||||||
"e621": e621.Query,
|
case "e621":
|
||||||
"gelbooru": gelbooru.Query,
|
media, err = e621.Query(uname, api_key, tags, jobs, rtout)
|
||||||
}[module]
|
case "gelbooru":
|
||||||
if qFunc == nil {
|
fallthrough
|
||||||
qFunc = gelbooru.Query
|
default: // Fallback to gelbooru
|
||||||
|
media, err = gelbooru.Query(tags, jobs)
|
||||||
}
|
}
|
||||||
|
if err != nil {
|
||||||
if media, err = qFunc(flag.Args(), goboru.Jobs(jobs)); err != nil {
|
|
||||||
log.Fatal(err)
|
log.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue