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
44 EpisodeNumber misc.EpisodeList
52 Uncensored bool // Meaning unclear, may not be simply !Censored
53 Censored bool // Meaning unclear, may not be simply !Uncensored
63 AudioStreams []AudioStream
64 SubtitleLanguages []Language
70 // Map of related EIDs to percentages (range 0.0-1.0).
71 // The percentage indicates how much of the EID is covered by this file.
72 RelatedEpisodes RelatedEpisodes
77 type RelatedEpisodes map[EID]float32
79 func (er RelatedEpisodes) MarshalJSON() ([]byte, error) {
80 generic := make(map[string]float32, len(er))
81 for k, v := range er {
82 generic[strconv.Itoa(int(k))] = v
84 return json.Marshal(generic)
87 func (er RelatedEpisodes) UnmarshalJSON(b []byte) error {
88 var generic map[string]float32
89 if err := json.Unmarshal(b, &generic); err != nil {
92 for k, v := range generic {
93 ik, err := strconv.ParseInt(k, 10, 32)
104 type LIDMap map[UID]LID
106 func (m LIDMap) MarshalJSON() ([]byte, error) {
107 generic := make(map[string]int, len(m))
108 for k, v := range m {
109 generic[strconv.Itoa(int(k))] = int(v)
111 return json.Marshal(generic)
114 func (m LIDMap) UnmarshalJSON(b []byte) error {
115 var generic map[string]int
116 if err := json.Unmarshal(b, &generic); err != nil {
119 for k, v := range generic {
120 ik, err := strconv.ParseInt(k, 10, 32)