feat: save to json

added the ability to save the output as json
This commit is contained in:
SoXX 2024-08-09 12:05:18 +02:00
parent 54eb37ac3a
commit 98558dcfbf

49
main.go
View File

@ -1,14 +1,13 @@
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/davecgh/go-spew/spew"
"github.com/gocolly/colly/v2"
"github.com/gocolly/colly/v2/debug"
_ "github.com/joho/godotenv/autoload"
)
@ -20,20 +19,50 @@ func main() {
}
collyOptions := []colly.CollectorOption{
colly.Debugger(&debug.LogDebugger{}),
//colly.Debugger(&debug.LogDebugger{}),
}
faClient := furaffinaty.NewClient("SoXX", cookies, collyOptions)
SubmissionIDs, err := faClient.GetSubmissionIDs()
if err != nil {
log.Fatal(err)
}
spew.Dump(SubmissionIDs)
/* SubmissionIDs, err := faClient.GetSubmissionIDs()
if err != nil {
log.Fatal(err)
}
spew.Dump(SubmissionIDs)
submissions, err := faClient.GetSubmissions(1)
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)
}
spew.Dump(submissions)
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
}
}