52 lines
991 B
Go
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
|
|
}
|