tvdb - episodes.go
1 package tvdb
2
3 import "fmt"
4
5 // Episode represents the data for a single episode of a programme
6 type Episode struct {
7 ID uint64 `json:"id"`
8 AiredSeason uint `json:"airedSeason"`
9 AiredSeasonID uint64 `json:"airedSeasonId"`
10 AiredEpisodeNumber uint `json:"airedEpisodeNumber"`
11 Name string `json:"episodeName"`
12 FirstAired string `json:"firstAired"`
13 GuestStars []string `json:"guestStars"`
14 Directors []string `json:"directors"`
15 Writers []string `json:"writers"`
16 Overview string `json:"overview"`
17 Language struct {
18 EpisodeName string `json:"episodeName"`
19 Overview string `json:"overview"`
20 } `json:"language"`
21 ProductionCode string `json:"productionCode"`
22 ShowURL string `json:"shorUrl"`
23 LastUpdated int64 `json:"lastUpdated"`
24 DVDDiscID string `json:"dvdDiscid"`
25 DVDSeason uint `json:"dvdSeason"`
26 DVDEpisodeNumber uint `json:"dvdEpisodeNumber"`
27 DVDChapter uint `json:"dvdChapter"`
28 AbsoluteNumber uint `json:"absoluteNumber"`
29 Filename string `json:"filename"`
30 SeriesID uint64 `json:"seriesId"`
31 LastUpdatedBy uint64 `json:"lastUpdatedBy"`
32 AirsAfterSeason uint `json:"airsAfterSeason"`
33 AirsBeforeSeason uint `json:"airsBeforeSeason"`
34 AirsBeforeEpisode uint `json:"airsBeforeEpisode"`
35 ThumbAuthor uint64 `json:"thumbAuthor"`
36 ThumbAdded string `json:"thumbAdded"`
37 ThumbWidth string `json:"thumbWidth"`
38 ThumbHeight string `json:"thumbHeight"`
39 IMDBID string `json:"imdbId"`
40 SiteRating float32 `json:"siteRating"`
41 SiteRatingCount uint64 `json:"siteRatingCount"`
42 }
43
44 // Episode returns the information about a single tv episode denoted by the
45 // episode id
46 func (c *Conn) Episode(id uint64) (*Episode, error) {
47 var r struct {
48 Data *Episode `json:"data"`
49 Error requestErrors
50 }
51 if err := c.get(makeURL(fmt.Sprintf("/episodes/%d", id), ""), &r); err != nil {
52 return nil, err
53 }
54 return r.Data, nil
55 }