Compare commits
2 Commits
Author | SHA1 | Date |
---|---|---|
Alex D. | 4c162a9f75 | |
Alex D. | c13d3bcd82 |
25
main.go
25
main.go
|
@ -13,24 +13,43 @@ import (
|
|||
"log"
|
||||
"os"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"git.redxen.eu/caskd/goboru"
|
||||
"git.redxen.eu/caskd/goboru/modules/e621"
|
||||
"git.redxen.eu/caskd/goboru/modules/gelbooru"
|
||||
)
|
||||
|
||||
func main() {
|
||||
var (
|
||||
jobs uint
|
||||
ji uint
|
||||
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(&api_key, "api_key", "", "API Key for requests")
|
||||
flag.StringVar(&uname, "username", "", "Username for requests")
|
||||
flag.Parse()
|
||||
|
||||
var (
|
||||
media []goboru.Media
|
||||
err error
|
||||
rtout time.Duration = time.Duration(tout) * time.Second
|
||||
tags []string = flag.Args()
|
||||
jobs = goboru.Jobs(ji)
|
||||
)
|
||||
|
||||
if media, err = gelbooru.Query(flag.Args(), jobs); err != nil {
|
||||
switch module {
|
||||
case "e621":
|
||||
media, err = e621.Query(uname, api_key, tags, jobs, rtout)
|
||||
case "gelbooru":
|
||||
fallthrough
|
||||
default: // Fallback to gelbooru
|
||||
media, err = gelbooru.Query(tags, jobs)
|
||||
}
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue