Documentation ¶
Index ¶
- Variables
- type Client
- func (c Client) Cookies() []*http.Cookie
- func (c *Client) DownloadClient() *funimation.Client
- func (c *Client) Login(username, password string) (User, error)
- func (c Client) MarshalJSON() ([]byte, error)
- func (c *Client) Queue(limit, offset int) (QueueResponse, error)
- func (c Client) SetCookies(cookies []*http.Cookie)
- func (c Client) UnmarshalJSON(data []byte) error
- type QueueResponse
- type Show
- type User
- type Video
Constants ¶
This section is empty.
Variables ¶
View Source
var ( BaseURL = "http://www.funimation.com/" ShowsPath = "feeds/ps/shows" VideosPath = "feeds/ps/videos" LoginPath = "feeds/ps/login.json?v=2" )
Funimation API URL endpoints
Functions ¶
This section is empty.
Types ¶
type Client ¶
Client is a client to the Funimation API.
func (*Client) DownloadClient ¶
func (c *Client) DownloadClient() *funimation.Client
DownloadClient returns a client that can be used to download an episode.
func (*Client) Login ¶
Login logs into a users Funimation account with the specified username and password.
func (Client) MarshalJSON ¶
MarshalJSON implements json.Marshaler.
func (*Client) Queue ¶
func (c *Client) Queue(limit, offset int) (QueueResponse, error)
Queue returns all shows that have been queued up.
func (Client) SetCookies ¶
SetCookies sets the cookies on the client.
func (Client) UnmarshalJSON ¶
UnmarshalJSON implements json.Unmarshaler.
type QueueResponse ¶
type QueueResponse struct { ExecutionTime string `json:"execution_time"` UserID string `json:"user_id"` User struct { Userid string `json:"userid"` Username string `json:"username"` Email string `json:"email"` Membergroupids string `json:"membergroupids"` Usergroupid string `json:"usergroupid"` IsUsernameSet string `json:"is_username_set"` AvatarURL string `json:"avatar_url"` AvatarSize interface{} `json:"avatar_size"` Subscriber bool `json:"subscriber"` OnceASubscriber bool `json:"once_a_subscriber"` } `json:"user"` Msg string `json:"msg"` Queue []struct { QueueID string `json:"queue_id"` Order string `json:"order"` OnlyShow string `json:"only_show"` Recaps string `json:"recaps"` Promotionals string `json:"promotionals"` ShowURL string `json:"show_url"` Published string `json:"published"` ShowSquare string `json:"show_square"` UserRank interface{} `json:"user_rank"` ShowID string `json:"show_id"` FunimationWebsite string `json:"funimation_website"` Copyright string `json:"copyright"` Title string `json:"title"` OriginalTitle string `json:"original_title"` VodSummary255 string `json:"vod_summary_255"` VodSummary400 string `json:"vod_summary_400"` FullSummary string `json:"full_summary"` ActiveDub string `json:"active_dub"` ActiveSub string `json:"active_sub"` ActiveHd string `json:"active_hd"` ActiveVideos string `json:"active_videos"` ActiveEpisodes string `json:"active_episodes"` ActiveFree string `json:"active_free"` ActiveSvod string `json:"active_svod"` ActiveSvodEpisodes string `json:"active_svod_episodes"` ActiveSvodExclusive string `json:"active_svod_exclusive"` ActiveClips string `json:"active_clips"` OriginalProductionYear string `json:"original_production_year"` WeHaveEpisode string `json:"we_have_episode"` WeHaveMovie string `json:"we_have_movie"` WeHaveOva string `json:"we_have_ova"` WeHaveSpecial string `json:"we_have_special"` Simulcast string `json:"simulcast"` Pageviews string `json:"pageviews"` OriginalLanguage string `json:"original_language"` LanguageAbbreviation string `json:"language_abbreviation"` Genres string `json:"genres"` GenresID string `json:"genres_id"` TvRatings string `json:"tv_ratings"` TvRatingsID string `json:"tv_ratings_id"` Rank string `json:"rank"` ShowThumbnail string `json:"show_thumbnail"` FeaturedTrailerSw string `json:"featured_trailer_sw"` FeaturedTrailerID string `json:"featured_trailer_id"` FeaturedProductSw string `json:"featured_product_sw"` FeaturedProductID string `json:"featured_product_id"` ForumID string `json:"forum_id"` FeaturedTrailerURL string `json:"featured_trailer_url"` RecapsCount int `json:"recaps_count"` VideosCount int `json:"videos_count"` } `json:"queue"` ShowsCount int `json:"shows_count"` VideosCount int `json:"videos_count"` Duration int `json:"duration"` CurrentPage int `json:"current_page"` Limit string `json:"limit"` NextVideo map[string]struct { ShowID string `json:"show_id"` ActiveVideos string `json:"active_videos"` ShowURL string `json:"show_url"` VideoID string `json:"video_id"` Watched string `json:"watched"` Checkpoint string `json:"checkpoint"` RecapID string `json:"recap_id"` Title string `json:"title"` Thumbnail string `json:"thumbnail"` VideoType string `json:"video_type"` Number string `json:"number"` VideoSequence string `json:"video_sequence"` VideoURL string `json:"video_url"` VideoSimulcast string `json:"video_simulcast"` Language interface{} `json:"language"` VideoCategory string `json:"video_category"` VideoNumber string `json:"video_number"` VideoTitle string `json:"video_title"` VideoDuration string `json:"video_duration"` Exclusive string `json:"exclusive"` WidgetTitle string `json:"widget_title"` } `json:"next_video"` Offset int `json:"offset"` Items string `json:"items"` }
QueueResponse is all the shows queued.
type Show ¶
type Show struct { AssetID string `json:"asset_id"` PubDate string `json:"pubDate"` SeriesName string `json:"series_name"` Link string `json:"link"` SeriesDescription string `json:"series_description"` SeasonCount string `json:"season_count"` EpisodeCount int `json:"episode_count"` Genres string `json:"genres"` Simulcast string `json:"simulcast"` Popularity string `json:"popularity"` OfficialMarketingWebsite string `json:"official_marketing_website"` LatestVideoFree interface{} `json:"latest_video_free"` LatestVideoFreeReleaseDate interface{} `json:"latest_video_free_release_date"` LatestVideoSubscription struct { VideoID string `json:"video_id"` ReleaseDate string `json:"release_date"` Title string `json:"title"` } `json:"latest_video_subscription"` LatestVideoSubscriptionReleaseDate string `json:"latest_video_subscription_release_date"` ShowRating string `json:"show_rating"` ActiveHD1080 string `json:"active_hd_1080"` HasClosedCaptions string `json:"has_closed_captions"` ThumbnailSmall string `json:"thumbnail_small"` ThumbnailMedium string `json:"thumbnail_medium"` ThumbnailLarge string `json:"thumbnail_large"` PosterArt string `json:"poster_art"` PosterArtLarge string `json:"poster_art_large"` ContactLink string `json:"contactLink"` DisplayOrder int `json:"display_order"` ElementPosition int `json:"element_position"` RatingSystem string `json:"rating_system"` Quality string `json:"quality"` Languages string `json:"languages,omitempty"` }
Show represents a single Funimation show.
type User ¶
type User struct { UserID string `json:"user_id"` UserType string `json:"user_type"` UT string `json:"ut"` UserRole string `json:"user_role"` SubscriberStatus string `json:"subscriber_status"` UserBirthday string `json:"user_birthday"` UserAge int `json:"user_age"` Country string `json:"country"` // Response fields. Success bool `json:"success"` Message string `json:"message"` }
User is the user info of the currently logged in user.
type Video ¶
type Video struct { AssetID string `json:"asset_id"` FunimationID string `json:"funimation_id"` PubDate string `json:"pubDate"` Rating string `json:"rating"` Quality string `json:"quality"` Language string `json:"language"` Duration int `json:"duration"` Simulcast string `json:"simulcast"` ClosedCaptioning string `json:"closed_captioning"` URL string `json:"url"` Promo string `json:"promo"` ShowName string `json:"show_name"` Popularity string `json:"popularity"` Title string `json:"title"` Description string `json:"description"` Sequence string `json:"sequence"` Number int `json:"number"` VideoType string `json:"video_type"` ShowID string `json:"show_id"` Thumbnail string `json:"thumbnail"` SeasonID string `json:"season_id"` SeasonNumber string `json:"season_number"` Genre string `json:"genre"` ReleaseDate string `json:"releaseDate"` ThumbnailURL string `json:"thumbnail_url"` ThumbnailSmall string `json:"thumbnail_small"` ThumbnailMedium string `json:"thumbnail_medium"` ThumbnailLarge string `json:"thumbnail_large"` VideoURL string `json:"video_url"` ClosedCaptionLocation string `json:"closed_caption_location"` Aips []string `json:"aips"` DubSub string `json:"dub_sub"` Featured string `json:"featured"` Highdef string `json:"highdef"` HasSubtitles string `json:"has_subtitles"` ElementPosition int `json:"element_position"` TvOrMove string `json:"tv_or_move"` RatingSystem string `json:"rating_system"` DisplayOrder int `json:"display_order"` ExtendedTitle string `json:"extended_title"` }
Video represents a single Funimation video.
Click to show internal directories.
Click to hide internal directories.