80 lines
1.6 KiB
Go
80 lines
1.6 KiB
Go
package main
|
|
|
|
import (
|
|
"encoding/json"
|
|
"fmt"
|
|
"io/ioutil"
|
|
"strconv"
|
|
|
|
"github.com/animenotifier/arn"
|
|
)
|
|
|
|
// OldMatch ...
|
|
type OldMatch struct {
|
|
ID int `json:"id"`
|
|
ProviderID int `json:"providerId"`
|
|
Title string `json:"title"`
|
|
ProviderTitle string `json:"providerTitle"`
|
|
Similarity float64 `json:"similarity"`
|
|
Edited string `json:"edited"`
|
|
EditedBy string `json:"editedBy"`
|
|
}
|
|
|
|
// ProviderMatch ...
|
|
type ProviderMatch struct {
|
|
AnimeID string `json:"animeId"`
|
|
ProviderID string `json:"providerId"`
|
|
Edited string `json:"edited"`
|
|
EditedBy string `json:"editedBy"`
|
|
}
|
|
|
|
// AniListToAnime ...
|
|
type AniListToAnime ProviderMatch
|
|
|
|
func main() {
|
|
matches := []OldMatch{}
|
|
data, _ := ioutil.ReadFile("MatchKitsu.json")
|
|
json.Unmarshal(data, &matches)
|
|
|
|
for _, match := range matches {
|
|
// Custom anime in 3.0
|
|
if match.ID >= 1000000 {
|
|
continue
|
|
}
|
|
|
|
// New match type
|
|
newMatch := &ProviderMatch{
|
|
AnimeID: strconv.Itoa(match.ProviderID),
|
|
ProviderID: strconv.Itoa(match.ID),
|
|
Edited: match.Edited,
|
|
EditedBy: match.EditedBy,
|
|
}
|
|
|
|
// Get anime
|
|
anime, err := arn.GetAnime(newMatch.AnimeID)
|
|
|
|
if err != nil {
|
|
continue
|
|
}
|
|
|
|
anime.Mappings = append(anime.Mappings, &arn.Mapping{
|
|
Service: "anilist/anime",
|
|
ServiceID: newMatch.ProviderID,
|
|
Created: newMatch.Edited,
|
|
CreatedBy: newMatch.EditedBy,
|
|
})
|
|
|
|
// Save
|
|
fmt.Println(anime.Title.Canonical)
|
|
arn.PanicOnError(anime.Save())
|
|
arn.PanicOnError(arn.DB.Set("AniListToAnime", newMatch.ProviderID, newMatch))
|
|
}
|
|
}
|
|
|
|
// AnilistToAnime
|
|
/*
|
|
AnimeID
|
|
ProviderID
|
|
|
|
*/
|