6 "github.com/Kovensky/go-anidb/misc"
14 func (v FileVersion) String() string {
18 return fmt.Sprintf("v%d", int(v))
21 type FileSource string
23 type AudioStream struct {
29 type VideoInfo struct {
32 Resolution image.Rectangle
43 EpisodeNumber misc.EpisodeList
51 Uncensored bool // Meaning unclear, may not be simply !Censored
52 Censored bool // Meaning unclear, may not be simply !Uncensored
62 AudioStreams []AudioStream
63 SubtitleLanguages []Language
69 // Map of related EIDs to percentages (range 0.0-1.0).
70 // The percentage indicates how much of the EID is covered by this file.
71 RelatedEpisodes RelatedEpisodes
76 type RelatedEpisodes map[EID]float32
78 func (er RelatedEpisodes) MarshalJSON() ([]byte, error) {
79 generic := make(map[string]float32, len(er))
80 for k, v := range er {
81 generic[strconv.Itoa(int(k))] = v
83 return json.Marshal(generic)
86 func (er RelatedEpisodes) UnmarshalJSON(b []byte) error {
87 var generic map[string]float32
88 if err := json.Unmarshal(b, &generic); err != nil {
91 for k, v := range generic {
92 ik, err := strconv.ParseInt(k, 10, 32)