Improved importer
This commit is contained in:
79
patches/import-anilist/import-old/import-old-matches.go
Normal file
79
patches/import-anilist/import-old/import-old-matches.go
Normal file
@ -0,0 +1,79 @@
|
||||
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
|
||||
|
||||
*/
|
Reference in New Issue
Block a user