mirror of
https://github.com/ultrasn0w/huso.git
synced 2025-12-13 17:29:54 +01:00
Init
This commit is contained in:
67
huso.go
Normal file
67
huso.go
Normal file
@@ -0,0 +1,67 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"flag"
|
||||
"log"
|
||||
"os"
|
||||
"os/signal"
|
||||
"runtime"
|
||||
"syscall"
|
||||
"time"
|
||||
|
||||
"github.com/allegro/bigcache/v3"
|
||||
"github.com/gookit/color"
|
||||
)
|
||||
|
||||
const (
|
||||
husoVersion = "1.0"
|
||||
seasonApiJikan = "seasons/now"
|
||||
seasonApiMal = "anime/season/"
|
||||
)
|
||||
|
||||
var (
|
||||
webServerPort = flag.Int("port", 4876, "Port used by internal webserver")
|
||||
malApiBaseUri = flag.String("malApiBaseUri", "https://api.myanimelist.net/v2/", "MyAnimeList API base URL")
|
||||
jikanApiBaseUri = flag.String("jikanApiBaseUri", "https://api.jikan.moe/v4/", "Jikan API base URL")
|
||||
malApiId = flag.String("malApiId", "cc17dcf40581b9dfc8a5a12dba458153", "MyAnimeList API Client ID")
|
||||
cache *bigcache.BigCache
|
||||
)
|
||||
|
||||
func main() {
|
||||
// lese Flaggen
|
||||
flag.Parse()
|
||||
// bleib bei uns
|
||||
sc := make(chan os.Signal, 1)
|
||||
signal.Notify(sc, syscall.SIGINT, syscall.SIGTERM, os.Interrupt)
|
||||
|
||||
color.Notice.Printf("huso %s %s\n", husoVersion, runtime.Version())
|
||||
|
||||
// cache init
|
||||
var err error
|
||||
cache, err = bigcache.NewBigCache(bigcache.DefaultConfig(2 * time.Hour))
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
defer cache.Close()
|
||||
|
||||
initSeason()
|
||||
|
||||
go Arbeiten()
|
||||
|
||||
go RunWebserv()
|
||||
|
||||
//fmt.Printf("%+v\n", jik)
|
||||
|
||||
<-sc
|
||||
}
|
||||
|
||||
func initSeason() {
|
||||
_, bytes, err := GetSeasonDataAll()
|
||||
if err != nil {
|
||||
color.Errorln(err.Error())
|
||||
}
|
||||
err = cache.Set(seasonApiJikan, bytes)
|
||||
if err != nil {
|
||||
color.Errorln(err.Error())
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user