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

39
main.go
View File

@ -1,14 +1,13 @@
package main package main
import ( import (
"encoding/json"
"log" "log"
"os" "os"
"git.anthrove.art/Anthrove/fa-sdk-go/pkg/furaffinaty" "git.anthrove.art/Anthrove/fa-sdk-go/pkg/furaffinaty"
"git.anthrove.art/Anthrove/fa-sdk-go/pkg/furaffinaty/models" "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"
"github.com/gocolly/colly/v2/debug"
_ "github.com/joho/godotenv/autoload" _ "github.com/joho/godotenv/autoload"
) )
@ -20,12 +19,12 @@ func main() {
} }
collyOptions := []colly.CollectorOption{ collyOptions := []colly.CollectorOption{
colly.Debugger(&debug.LogDebugger{}), //colly.Debugger(&debug.LogDebugger{}),
} }
faClient := furaffinaty.NewClient("SoXX", cookies, collyOptions) faClient := furaffinaty.NewClient("SoXX", cookies, collyOptions)
SubmissionIDs, err := faClient.GetSubmissionIDs() /* SubmissionIDs, err := faClient.GetSubmissionIDs()
if err != nil { if err != nil {
log.Fatal(err) log.Fatal(err)
} }
@ -35,5 +34,35 @@ func main() {
if err != nil { if err != nil {
log.Fatal(err) log.Fatal(err)
} }
spew.Dump(submissions) 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
}
} }