fa-sdk-go/main.go
SoXX 98558dcfbf feat: save to json
added the ability to save the output as json
2024-08-09 12:05:18 +02:00

69 lines
1.4 KiB
Go

package main
import (
"encoding/json"
"log"
"os"
"git.anthrove.art/Anthrove/fa-sdk-go/pkg/furaffinaty"
"git.anthrove.art/Anthrove/fa-sdk-go/pkg/furaffinaty/models"
"github.com/gocolly/colly/v2"
_ "github.com/joho/godotenv/autoload"
)
func main() {
cookies := models.Cookie{
A: os.Getenv("COOKIE_A"),
B: os.Getenv("COOKIE_B"),
}
collyOptions := []colly.CollectorOption{
//colly.Debugger(&debug.LogDebugger{}),
}
faClient := furaffinaty.NewClient("SoXX", cookies, collyOptions)
/* SubmissionIDs, err := faClient.GetSubmissionIDs()
if err != nil {
log.Fatal(err)
}
spew.Dump(SubmissionIDs)
submissions, err := faClient.GetSubmissions(1)
if err != nil {
log.Fatal(err)
}
spew.Dump(submissions)*/
_, err := faClient.GetSubmissionIDsForFavorites("soxx-thefennec")
if err != nil {
log.Fatal(err)
}
favorites, err := faClient.GetSubmissions(5)
saveSubmissionsToJSON(favorites, "favorites.json")
}
func saveSubmissionsToJSON(submissions []models.Submission, filename string) {
jsonData, err := json.MarshalIndent(submissions, "", " ")
if err != nil {
log.Fatalf("Error marshalling submissions to JSON: %v", err)
return
}
file, err := os.Create(filename)
if err != nil {
log.Fatalf("Error creating file: %v", err)
return
}
defer file.Close()
_, err = file.Write(jsonData)
if err != nil {
log.Fatalf("Error writing to file: %v", err)
return
}
}