52 lines
991 B
Go

package main
import (
"flag"
"github.com/aerogo/crawler"
"github.com/animenotifier/arn"
)
// Shell parameters
var objectType string
var objectID string
var newOnly bool
// Shell flags
func init() {
flag.StringVar(&objectType, "type", "all", "all | anime | character")
flag.StringVar(&objectID, "id", "", "ID of the notify.moe anime/character you want to refresh")
flag.BoolVar(&newOnly, "new", false, "Skip existing entries and only download new ones")
flag.Parse()
}
// InvokeShellArgs ...
func InvokeShellArgs() bool {
if objectID != "" {
// Create crawler
malCrawler := crawler.New(
headers,
delayBetweenRequests,
1,
)
switch objectType {
case "anime":
anime, err := arn.GetAnime(objectID)
arn.PanicOnError(err)
queueAnime(anime, malCrawler)
case "character":
character, err := arn.GetCharacter(objectID)
arn.PanicOnError(err)
queueCharacter(character, malCrawler)
}
// Wait
malCrawler.Wait()
return true
}
return false
}