imported tmdb module

This commit is contained in:
2026-01-01 20:42:50 +11:00
parent c466cd3163
commit c4574e32c7
10 changed files with 352 additions and 0 deletions

41
tmdb/crew_functions.go Normal file
View File

@@ -0,0 +1,41 @@
package tmdb
import "sort"
type BilledCrew struct {
Name string
Roles []string
}
func (credits *Credits) BilledCrew() []BilledCrew {
crewmap := make(map[string][]string)
billedcrew := []BilledCrew{}
for _, crew := range credits.Crew {
if crew.Job == "Director" ||
crew.Job == "Screenplay" ||
crew.Job == "Writer" ||
crew.Job == "Novel" ||
crew.Job == "Story" {
crewmap[crew.Name] = append(crewmap[crew.Name], crew.Job)
}
}
for name, jobs := range crewmap {
billedcrew = append(billedcrew, BilledCrew{Name: name, Roles: jobs})
}
for i := range billedcrew {
sort.Strings(billedcrew[i].Roles)
}
sort.Slice(billedcrew, func(i, j int) bool {
return billedcrew[i].Roles[0] < billedcrew[j].Roles[0]
})
return billedcrew
}
func (billedcrew *BilledCrew) FRoles() string {
jobs := ""
for _, job := range billedcrew.Roles {
jobs += job + ", "
}
return jobs[:len(jobs)-2]
}