Final code before I make it concurrent
This commit is contained in:
parent
282201c2fd
commit
31c9b86ac6
28
main.go
28
main.go
@ -14,6 +14,7 @@ import (
|
|||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
"github.com/agext/levenshtein"
|
||||||
)
|
)
|
||||||
|
|
||||||
//Anime is AniDB structure
|
//Anime is AniDB structure
|
||||||
@ -43,7 +44,8 @@ type AnimeRes struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type CompareAni struct {
|
type CompareAni struct {
|
||||||
Title string
|
AnidbTitle string
|
||||||
|
MeikanTitle string
|
||||||
AnidbID int
|
AnidbID int
|
||||||
MeikanID int
|
MeikanID int
|
||||||
}
|
}
|
||||||
@ -147,7 +149,9 @@ func checkResults(r Result, anime Anime, highest int, c chan int) {
|
|||||||
total += 12
|
total += 12
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if meikan.Title == anime.Title {
|
score := levenshtein.Match(meikan.Title, anime.Title, nil)
|
||||||
|
//fmt.Print(score)
|
||||||
|
if score > 0.95 {
|
||||||
total += 50
|
total += 50
|
||||||
}
|
}
|
||||||
if meikan.Episodes == anime.Episodes {
|
if meikan.Episodes == anime.Episodes {
|
||||||
@ -192,7 +196,7 @@ func main() {
|
|||||||
check (err)
|
check (err)
|
||||||
animes := parseCsv("/home/trac/coding/compareID/1.-Main-data.csv")
|
animes := parseCsv("/home/trac/coding/compareID/1.-Main-data.csv")
|
||||||
count := len(animes)
|
count := len(animes)
|
||||||
bar := pb.StartNew(count)
|
bar := pb.StartNew(count - 1)
|
||||||
var matched, notMatched int
|
var matched, notMatched int
|
||||||
for i := 1; i < len(animes); i++ {
|
for i := 1; i < len(animes); i++ {
|
||||||
anime := animes[i]
|
anime := animes[i]
|
||||||
@ -231,16 +235,17 @@ func main() {
|
|||||||
highest, hI := <-c, <-c
|
highest, hI := <-c, <-c
|
||||||
//highest, hI := checkResults(result, anime, 0)
|
//highest, hI := checkResults(result, anime, 0)
|
||||||
if highest < 100 {
|
if highest < 100 {
|
||||||
fmt.Printf("Found no match for %s\n", anime.Title)
|
|
||||||
_, err := f.WriteString(strconv.Itoa(anime.ID) + " null\n")
|
_, err := f.WriteString(strconv.Itoa(anime.ID) + " null\n")
|
||||||
check(err)
|
check(err)
|
||||||
/*if len(result.Anime) > 0 {
|
if len(result.Anime) > 0 {
|
||||||
fmt.Println(highest)
|
fmt.Printf("Found no match for %s (Best result: %s)\n", anime.Title, result.Anime[hI].Title)
|
||||||
fmt.Printf("Title: %s, Episodes: %d, Type: %s, ID: %d, StartDate: %s, EndDate: %s\n", anime.Title, anime.Episodes, anime.Type, anime.ID, anime.StartDate, anime.EndDate)
|
//fmt.Println(highest)
|
||||||
fmt.Printf("Title: %s, Episodes: %d, Type: %s, ID: %d, StartDate: %s, EndDate: %s\n", result.Anime[hI].Title, result.Anime[hI].Episodes, result.Anime[hI].Type, result.Anime[hI].ID, result.Anime[hI].StartDate, result.Anime[hI].EndDate)
|
//fmt.Printf("Title: %s, Episodes: %d, Type: %s, ID: %d, StartDate: %s, EndDate: %s\n", anime.Title, anime.Episodes, anime.Type, anime.ID, anime.StartDate, anime.EndDate)
|
||||||
|
//fmt.Printf("Title: %s, Episodes: %d, Type: %s, ID: %d, StartDate: %s, EndDate: %s\n", result.Anime[hI].Title, result.Anime[hI].Episodes, result.Anime[hI].Type, result.Anime[hI].ID, result.Anime[hI].StartDate, result.Anime[hI].EndDate)
|
||||||
} else {
|
} else {
|
||||||
|
fmt.Printf("Found no match for %s\n", anime.Title)
|
||||||
fmt.Println("No search results returned")
|
fmt.Println("No search results returned")
|
||||||
}*/
|
}
|
||||||
notMatched++
|
notMatched++
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
@ -250,7 +255,8 @@ func main() {
|
|||||||
fmt.Printf("Matched %s -> %s\n", anime.Title, result.Anime[hI].Title)*/
|
fmt.Printf("Matched %s -> %s\n", anime.Title, result.Anime[hI].Title)*/
|
||||||
//fmt.Printf("Title: %s, Episodes: %d, Type: %s, ID: %d, StartDate: %s, EndDate: %s\n", result.Anime[hI].Title, result.Anime[hI].Episodes, result.Anime[hI].Type, result.Anime[hI].ID, result.Anime[hI].StartDate, result.Anime[hI].EndDate)
|
//fmt.Printf("Title: %s, Episodes: %d, Type: %s, ID: %d, StartDate: %s, EndDate: %s\n", result.Anime[hI].Title, result.Anime[hI].Episodes, result.Anime[hI].Type, result.Anime[hI].ID, result.Anime[hI].StartDate, result.Anime[hI].EndDate)
|
||||||
a := CompareAni{
|
a := CompareAni{
|
||||||
Title: anime.Title,
|
AnidbTitle: anime.Title,
|
||||||
|
MeikanTitle: result.Anime[hI].Title,
|
||||||
AnidbID: anime.ID,
|
AnidbID: anime.ID,
|
||||||
MeikanID: result.Anime[hI].ID,
|
MeikanID: result.Anime[hI].ID,
|
||||||
}
|
}
|
||||||
@ -260,7 +266,7 @@ func main() {
|
|||||||
bar.Increment()
|
bar.Increment()
|
||||||
//fmt.Printf("ID: %d, Type: %s, Episodes: %d, Title: %s\n", a.Id, a.Type, a.Episodes, a.Title)
|
//fmt.Printf("ID: %d, Type: %s, Episodes: %d, Title: %s\n", a.Id, a.Type, a.Episodes, a.Title)
|
||||||
}
|
}
|
||||||
resJson, err := json.Marshal(resultCompare)
|
resJson, err := json.MarshalIndent(resultCompare, "", "\t")
|
||||||
check(err)
|
check(err)
|
||||||
jsonfile := []byte(resJson)
|
jsonfile := []byte(resJson)
|
||||||
err = ioutil.WriteFile("./result.json", jsonfile, 0644)
|
err = ioutil.WriteFile("./result.json", jsonfile, 0644)
|
||||||
|
Loading…
Reference in New Issue
Block a user